-- 表示注释。
1. 连接数据库: mysql -uroot -p
2. 退出:exit 、quit、ctrl + d
3. 查看所有数据库: show databases;
4. 显示时间 select now();
5. 显示数据库版本: select version();
6. 创建数据库: create database 数据库名称;
创建utf8类型的数据库: create database 数据库名称 charset=utf8;
7. 查看创建数据库的语句:show create database 要查看的数据库名称;
8. 删除数据库: drop database 数据库名; (删除数据库名有后缀的数据库时要整体加``,以表示是整体。)
9. 使用数据库:use 数据库名;
10. 查看当前所在数据库:select database();
11. 查看当前数据库的所有表: show tables;
12. 创建数据表 : create table 数据表名字 (字段 类型 约束,字段 类型 约束);(最后一项不写逗号)
eg: create table student(id int unsigned primary key,name varchar(30)not null ,high decimal(5,2),gender enum(“男”,“女”)default “保密”);
13. 查看表的结构: desc 数据表的名称;
14. 往表中插入数据 : insert into 数据表名称 values();
15. 查看数据表: select * from 数据表名称;
16. 修改表结构:
增加字段 alter table 表名称 add 字段名称 字段类型 约束;
修改字段(不重命名) alter table 表名称 modify 字段名称 字段类型 约束;
修改字段(重命名) alter table 表名称 change 原字段名称 新字段名称 字段类型 约束;
删除字段 alter table 表名称 drop 字段名称 ;
17. 删除数据表: drop table 数据表名称;
18. 查看表的创建语句: show create table 数据表名称;
19. 数据的增删改查:
插入数据:insert into 数据表名称 values(...)未指定字段时,默认所有字段(列)都插入
部分插入:insert into 数据表名称 (字段名称,字段名称)values(... ,... ); 除非字段约束字段不能为空,否则都可不插入。
多行插入:insert into 数据表名称 (字段名称,字段名称)values(... ,... ),(...,...); (插入两行)
枚举中的下标从1开始,与枚举的变量按顺序一一对应。
修改一个字段的全部数据: update 数据表名称 set 要更新的字段=某值;
部分修改: update 数据表名称 set 要更新的字段=某值 where 某字段 = 某值;筛选符合条件的数据更改。
同时修改多个字段:update 数据表名称 set 要更新的字段=某值,要更新的字段=某值 where 某字段 = 某值;
查询数据
查询数据表全部数据:select * from 数据表名称;
查询满足条件的数据: select * from 数据表名称 where 要满足的条件;
查询数据的部分字段:select 要查询的字段,要查询的字段,... from 数据表名称;
指定别名:select 字段名称 as 新名字,... from 数据表; 哪个字段在前,哪一列在前面显示。
数据的删除:
物理删除:
删除整个数据表: delete from 数据表名称;
删除满足条件的数据行 :delete from 数据表 where 要满足的条件;
删去一些数据行之后,自动增量从表中的最大值开始,但这时可以手动将自动增量指定为已删除的值。(这样做可能会导致自动增量(自动增量一般为主键)重复,不建议这样做)
生产环境中不会真的删除数据。
逻辑删除:
增加一个字段,用来表示逻辑上是否存在。若某一条数据的该字段为0,表示存在,为1表示删除。
-- 8位为一个字节,少于一个字节,则无法显示出来。