目录
一、库语句
1.查询现有数据库
(1)语法:show databases;
(2)示例
表示当前有五个数据库
2.创建数据库
(1)语法:create database 库名
(2)创建失败示例:忘记加关键字database
(3)创建成功示例
(4)细节
数据库的名字也不能使用mysql中的关键字
除非:加上`的符号,例如:`关键字`
(5)指定字符集(*)
语法:charset 字符集名
在创建数据库时,在名字后面加上 charset utf8
如:create database 数据库名 charset utf8
一般mysql默认字符集是GBK,这样是无法使用汉字字符的,需要指定utf8才可。我们是推荐都在创建数据库的后面加上,否则后续只能重新建数据库
3.选中数据库
(1)语法:use 数据库名
(2)示例
(3)作用:只有选中数据库,才能进行后续的表操作
4.删除数据库
(1)语法:drop database 数据库名字
(2)示例:
(3)后果:删除数据库后,对应所有的表也会消失,所以这个是一个很危险的操作
二、初阶表操作
在选中数据库之后才能进行的表操作,同一个数据库中,表名不能重复;不同库则可以
1.查看数据库现有表
(1)语法:show tables;
(2)示例:
2.查看表结构
(1)语法:desc 表名
(2)示例:可以查询表的结构,有多少列,分别对应什么名字和类型
3.创建表
(1)语法:create table 表名(变量名字 类型,变量名字 类型,……);
(2)示例:
(3)注意:名字在前,类型在后;类型就决定了后续插入数据的类型
4.删除表
(1)语法:drop table 表名
(2)示例:
(3)注意:删表是比删库还危险的操作,慎重!
5.全列查询
(1)语法:select * from 表名
(2)作用:查询这个表的所有列和已有的数据
(3)示例:该表中只有一个数据
(4)注意:这种操作只适合在前期学习的时候使用,当数据量庞大的时候,不推荐
6.删除表2
(1)语法:delete from 表名 where 条件;
删除的维度都是一行,也需要添加合适的条件;不添加任何条件,就是删除这个表的所有
(2)与drop的区别
drop是删除整个表,表和内容都没了。
delete删除是把表的内容都删完了,但是表格还在。
(3)示例
7.修改操作
(1)语法:update 表名 set 列名 = 值 where 条件;
如果不加限制条件,会将一列所有的元素全部修改。这种会影响硬盘上面存储的数据
(2)示例:修改单个列
(3)示例:修改多个列
注意事项:
修改时,不能超出类型本身的限制,否则就是修改失败。
为了防止被修改的数据太多,我们建议一条一条的修改,也就是在后面加上limit 1的限制
三、插入操作
进行插入操作时,最好是清楚表的结构,否则容易出现错误
1.全列插入
(1)语法:insert into 表名 valuse(值,值,值,值…);
(2)作用:这样的操作是对所有的列都插入操作,值必须刚好对应上所有的列
(3)示例:关键字into是可以省略的
2.指定列插入
(1)语法:insert into 表名 (列名,列名……) values(值,值……);
(2)注意:每个值要对应的相应的列;两个列名的顺序可以换,但是相应的值顺序也要换
(3)示例:这里只插入了name、age,未插入的列默认为null值
3.一次插入多组数据
(1)一次性全列插入多组数据
做法:只需要多加几个括号即可
(2)一次性指定列插入多组数据
4.插入操作的细节
(1)基本数据类型
(1)表示整数:int
(2)表示小数:double
(3)表示字符串:varchar 使用时在后面指定长度
(4)表示时间日期:datetime
(5)decimal(a,b):表示小数,a表示这个数的长度,b表示小数的位数
(2)插入字符串
字符串例如:汉字,字符、字符串;需要在两头加上单引号或者双引号(英文)
(3)插入时间
插入时间例如:2018-3-28 也需要加上单引号或者双引号,如:"2018-3-28"
四、数据库的约束
这是在建表的时候加上的约束,约束也是对表起的效果
1.not null
(1)作用:用来限制某一列不能为空
(2)正常无约束时
(3)加上约束后
(4)插入数据失败
(5)成功插入数据