03 数据定义语句数据库中的关系集合必须由数据定义语句指定给系统 , 主要提供表相关的定义关系模式、删除关系以及修改关系模式的命令 。例如:数据库、表、表空间、触发器、事件、索引及函数的定义、更改操作等 。
【例1】指定表空间创建库表 , 并在已有表的基础上增加列 , 查看表结构 。
1. 建立名为ts_1的表空间
mysql>CREATETABLESPACEts_1ADDDATAFILE'ts_1.ibd'Engine=InnoDB;QueryOK,0rowsaffected(0.11sec)【MySQL好在哪?怎么用?终于有人讲明白了】2. 建立名为testq的数据库mysql>CREATEDATABASEtestq;QueryOK,1rowaffected(0.00sec)3. 切换至名为testq的数据库mysql>usetestq;Databasechanged4. 建立表 , 并指定表使用的表空间及引擎mysql>CREATETABLEt1(->c1INTSTORAGEDISK,#数据存储于磁盘->c2INTSTORAGEMEMORY#数据基于内存->)TABLESPACEts_1ENGINEINNODB;#指定表空间ts_1及引擎INNODBQueryOK,0rowsaffected(0.34sec)5. 向表t1中增加列c3 , 类型为VARCHAR , 长度为10mysql>ALTERTABLEt1ADDc3VARCHAR(10);QueryOK,0rowsaffected(0.52sec)Records:0Duplicates:0Warnings:06. 查看表t1的结构mysql>DESCt1;+-------+-------------+------+-----+---------+-------+|Field|Type|Null|Key|Default|Extra|+-------+-------------+------+-----+---------+-------+|c1|int(11)|YES||NULL|||c2|int(11)|YES||NULL|||c3|varchar(10)|YES||NULL||+-------+-------------+------+-----+---------+-------+3rowsinset(0.00sec)- 注意
# The default storage engine that will be used when create new tables when
default-storage-engine=INNODB
否则会出现“1286 Unknown storage engine 'InnoDB'”错误 。
成功启动后 , 通过SHOW ENGINES查看引擎是否在运行:

文章插图
04 数据处理语句数据处理语句主要提供数据库表中相关数据元组的插入、删除、修改和查询等操作 。
【例2】向已有的表t1中插入、查询、更改和删除数据 。
1. 向表t1中插入2条数据 , 其中第2列数据是第1列数据的2倍
mysql>INSERTINTOt1(c1,c2,c3)VALUES(1,c1*2,'a'),(2,c1*2,'b');QueryOK,2rowsaffected(0.10sec)Records:2Duplicates:0Warnings:02. 查询表t1中所有的数据mysql>SELECT*FROMt1;+------+------+------+|c1|c2|c3|+------+------+------+|1|2|a||2|4|b|+------+------+------+2rowsinset(0.00sec)3. 更新表t1中的数据 , 其中当c1等于2时 , 对应的c2列的数据乘以3 , 对应的c3列的值更改为updatebmysql>UPDATEt1SETc2=c1*3,c3='updateb'->WHEREc1=2;QueryOK,1rowaffected(0.11sec)Rowsmatched:1Changed:1Warnings:04. 当c1等于2时 , 查询表t1中对应的元组的数据mysql>SELECT*FROMt1WHEREc1=2;+------+------+---------+|c1|c2|c3|+------+------+---------+|2|6|updateb|+------+------+---------+1rowinset(0.05sec)5. 当c1等于2时 , 删除表t1中对应的元组的数据mysql>DELETEFROMt1WHEREc1=2;QueryOK,1rowaffected(0.10sec)用SELECT语句查询表t1 , 发现c1=2对应的元组的数据都已经被删除 。mysql>SELECT*FROMt1;+------+------+------+|c1|c2|c3|+------+------+------+|1|2|a|+------+------+------+1rowinset(0.00sec)关于作者:王宏志 , 哈尔滨工业大学计算机科学与技术学院教授、博士生导师 , 英才学院副院长 。研究方向为大数据、数据科学、数据管理与分析 。在VLDB、SIGMOD等国内外重要会议和期刊上发表学术论文200余篇 , 出版学术专著两本 , 其论文被SCI收录50余次 , 他引千余次 。何震瀛 , 博士 , 复旦大学计算机科学学院副教授 , 中国计算机学会数据库专业委员会委员、大数据专业委员会通信委员 。主要研究兴趣是数据管理和数据分析等 。
王鹏 , 毕业于哈尔滨工业大学软件工程专业 , 研究生学历 。曾就职于中国普天信息技术研究院 , 并担任架构师、技术总监等职使 。曾代表企业主导网络存储国家行业标准制定 , 拥有相关专利3项 。
李春静 , 工学硕士 , 现任北京华育兴业科技有限公司大数据讲师 , 并承担高校大数据技术与应用资源建设工作 。主要从事Hadoop、HBase、Hive、Spark、大数据库、机器学习等课程研发工作 。
推荐阅读
- 北苑贡茶,严苛的生产标准铸造品质好茶
- 日川凤凰单枞,用心做好茶
- 查看MySQL所有数据库列表
- 门锁不好开用什么油最好,锁芯能滴缝纫机油吗
- 挂电视一般离电视柜多高,电视挂着好还是放电视柜上好
- 窗帘为什么不能选单纯灰色的,窗帘灰色配什么颜色好看图片2021
- 10种常见的MySQL错误,你可中招?
- 修改重置MYSQL5.7得ROOT登录密码
- 淘宝行业数据分析在哪 淘宝数据分析怎么做
- 一文搞定MySQL性能调优
