登录MySQL数据库 MySQL -h hostname -u username -p 创建数据库 Create database 数据库名称 查询数据库 Show database 查询某个数据库 Show create database 数据库名称 修改数据库 Alter database 数据库名称 default character set 编码方式 collate 编码方式_bin 删除数据库 Drop database 数据库名称 创建数据表 Create table 表名{字段名1 数据类型【约束条件】,字段名2 数据类型【约束条件】,} 查看数据表 Show create table 表名 查询表的字段信息 Desc 表名 修改表名 Alter table 旧表名 rename 新表名 修改字段名 Alter table 表名 change 旧字段名 新字段名 新数据类型 修改字段数据类型 Alter table 表名 modify 字段名 数据类型 添加字段 Alter table 表名 add 新字段名 数据类型【约束条件】 删除字段 Alter table 表名 drop 字段名 修改字段的排列顺序 Alter table 表名 modify 字段名1 数据类型 flrst/after 字段名2 删除数据表 Drop table 表名 单字段主键 字段名 数据类型 primary key 多字段主键 Primary key (字段名1,字段名2) 非空约束 字段名 数据类型 not null 唯一约束 字段名 数据类型 unique 默认约束 字段名 数据类型 default 默认值 设置表的字段值自动增加 字段名 数据类型 auto_increment
为表中所有字段添加数据 Insert into 表名(字段名1,字段名2) values(值1,值2) 同时添加多条记录 Insert into 表名(字段名1,字段名2) values(值1,值2),(值1,值2) 更新数据 Update 表名 set 字段名1=值1【,字段名2=值2】 【where 条件表达式】 删除数据 Delete from 表名 【where 条件表达式】
简单查询 Select * |字段名1,字段名2,字段名3 From 表名 Where 条件语句 Group by 字段名 【having 条件表达式2】 Order by 字段名 【asc|desc】Limit 【offset】记录数 带in关键字的查询 Select *|字段名1,字段名2 from 表名 where 字段名 【not】 in (元素1,元素2) 带between and 关键字查询 Select *|字段名1,字段名2 from 表名 where 字段名 【not】between 值1 and 值2 空值查询 Select *|字段名1,字段名2 from where 字段名 is 【not】null 带distinct关键字查询 Select distinct 字段名 from 表名 Distinct 关键字用于多个字段 Select distinct字段名1,字段名2 from 表名 带like关键字的查询 Select *|字段名1,字段名2 from 表名 where 字段名 【not】like “匹配条件” 带or关键字的多条件查询 Select *|字段名1,字段名2 from 表名 where 条件表达式1 or 条件表达式2 带and关键字的条件查询 Select *|字段名1,字段名2 from 表名 where 条件表达式1 and 条件表达式2 高级查询 Count 返回某列的行数 Sum 返回某列的和 Avg 返回某列的平均值 Max 返回某列的最大值 Min 返回某列的最小值 对查询结果查询 Select 字段名1,字段名2 from 表名 order by 字段名1 asc|desc,字段名2 asc|desc 分组查询 Select 字段名1,字段名2 from 表名 group by 字段名1,字段名2 having 条件表达式 使用limit限制查询结果的数量 Select 字段名1,字段名2 from 表名 limit 【offset】记录数 为表取别名 Select * from 表名 as 别名 为字段取别名 Select 字段名 as 别名,字段名 as 别名 from 表名
添加外键约束 Alter table 表名 add constraint FK_ID foreign key(外键字段名称) REFERENCES 外表表名(主键字段名) 删除外键约束 Alter table 表名 drop foreign key 外键名 添加数据(外键约束后) 为两个表添加数据,就需要先为主表添加数据。 删除数据(外键约束后) 删除关联表的数据时,一定要先删除从表中数据,然后再删除主表中的数据。 连接查询(交叉连接) Select * form 表1 CROSS JOIN 表2 内连接查询 SELECT 查询字段 FROM 表1 [INNER] JOIN 表1.关系字段=表2.关系字段 WHERE 条件 外连接查询 Select 所查字段 from 表1 left|right [outer] join 表2 on 表1.关系字段=表2.关系字段 where 条件 复合条件连接查询 复合条件连接查询就是再连接查询的过程中,通过添加过滤条件来限制查询结果,使查询结果更加精确。 子查询 子查询是指查询语句嵌套再另一个查询语句内部的查询。 带EXISTS关键字的子查询 EXISTS关键字后面的参数可以是任意一个子查询,这个子查询的作用相当于测试,它不产生任何数据,只返回TRUE或FALSE,当返回值为TRUE时,外层查询才会执行 带AND关键字的子查询 AND关键字表示满足其中任意一个条件,它允许创建一个表达式对子查询的返回值列表进行比较,只要满足内层子查询中的任意一个比较条件,就返回一个结果作为外层查询条件。 带ALL关键字的子查询 ALL关键字与ANY有点类似,只不过带ALL关键字的子查询返回的结果需同时满足所有内层查询条件。 带比较运算符的子查询 子查询中还可以实用其他的比较运算符。
开启事务 Start transaction; 提交事务 Commit; 取消事务 Rollback; (只能针对未提交的事务进行回滚操作。)
设置事务的隔离级别 Set session transaction isolation level 隔离级别; 备份单个数据库 Mysqldump - uusername -ppassword dbnam [tbname1 [tbname2...]]>filename.sql 备份多个数据库 Mysqldump - uusername -ppassword --database dbname[dbname2 dbname3...]filename.sql 备份所有数据库 Mysqldump -uusername -ppassword --all -databases>filename.sql 数据的还原 MySQL - uusername -ppassword [dbname]<filename.sql
备注:参考文献:《MySQL数据库入门》 清华大学出版社 不包含以下内容: 1.函数(除了常见的5个以外,其他没做补充) (课本P117) 2.没有标明truncate关键字的使用(作用效果删除) (课本P84) 3.没有对索引的内容进行归纳 (课本P51) 4.数据类型没有进行归纳 (课本P33) 5.MySQL相关命令列入 ? ? clear \c connect \r (课本P25) 6.添加外键的约束的参数说明(课本P124) 7.事务的存储应用及其相关相关资料(课本P174) 8.视图的应用及其相关资料(课本P193) 9.用户管理——用户的创建删除修改及其权限管理(课本P204)
