- 所有的单词均为关键字
库
mysqldump -u用户名 -p密码 数据库 >文件名.sql:备份
mysqldump -u用户名 -p密码 数据库 表>文件名.sql:表备份
mysql -u用户名 -p密码 数据库<文件名.sql:导入
show databases :显示所有库
create database dbname :创建名为dbname的库
use db :使用库db
drop database dbname :删除dbname库
表
show tables :显示当前库中所有表
create table tbname(字段1 限定,字段2 限定,字段3 限定,…)charset=编码格式
drop table tbname:删除表tbname
表结构
alter table 表名 add 字段 限定 :添加字段
alter table 表名 drop 字段名:删除字段
alter table 表名 modify 字段名 限定:重设字段属性
alter table 表名 change 字段名 新字段名 限定 :完全重设字段
索引
alter table 表名 add index 索引名 (字段名):为某字段添加索引
alter table 表名 add unique 索引名(字段名):为字段添加唯一索引
alter table 表名 add unique 索引名(字段,字段,。。。):添加多列索引
alter table 表名 add primary key 索引名(字段):添加主键索引
alter table 表名 add foreign key 索引名(本表外键字段)reference 他表(他表主键):添加外键索引
drop index 索引名 on 表名:删除索引
alter table 表名 drop 索引名:删除索引
数据
insert into 表名 (字段,字段。。。) values(值(与字段顺序对应)):添加数据
insert into 表名 values(值(按照表结构添加数据)):添加数据
delete from 表名 where 条件 :删除数据
delete from 表名:不加条件会清空全表
update 表名 set 字段=值 where 条件:更新数据,不加条件会设置两条(?不知道为什么)
查
select 结果 结果重命名,结果2 结果2重命名 from 表名 where 条件 order by 排序基准 desc/asc (反/正序)limit 起点(不写默认从第一条开始) 条数;普通排序查询
select 结果,count(计数项) from 表名 group by 分组依据 having 筛选条件;简单分组查询,注意返回结果的逻辑
select 结果 from 表名1,表名2 where 表1字段=表2字段;连表查询,以外键关联
select 结果 from 表1 left/right/inner join 表2 on 关联 ;left 左表全部加右表与左表有关联部分、right与left相反、inner只取两张表有关联的部分
select 结果 from 表名 where id < (select id from 表2);将表2查询的结果作为表1查询的条件 条件可以灵活变动
select 结果 from (select 结果1 from 表2);将查询结果作为数据来源