基本
登录
例子:mysql -h主机名 -u用户名 -p密码
列的属性(创建表时)
主键
PRIMARY KEY (列名1, 列名2, ...)
唯一约束属性
列名 列的类型 UNIQUE
UNIQUE [约束名称] (列名1, 列名2, ...)
UNIQUE KEY [约束名称] (列名1, 列名2, ...)
外键
CONSTRAINT [外键名称] FOREIGN KEY(列1, 列2, ...) REFERENCES 父表名(父列1, 父列2, ...)
自动增长
列名 列的类型 AUTO_INCREMENT
列的注释
列名 列的类型 COMMENT '列的注释'
数字左边补0
列名 数值类型 UNSIGNED ZEROFILL
库的基本操作
创建数据库
create database if not exists 数据库名;
删除数据库
drop database if exists 数据库名
表的基本操作
创建表
CREATE TABLE 表名 (<br> 列名1 数据类型 [列的属性],<br> 列名2 数据类型 [列的属性],<br> ...<br> 列名n 数据类型 [列的属性]<br>);
表的注释
CREATE TABLE 表名 (<br> 各个列的信息 ...<br>) COMMENT '表的注释信息';
删除表
DROP TABLE 表1, 表2, ..., 表n;
查看表结构
以表格形式展示各列信息
DESCRIBE 表名;<br>DESC 表名;<br>EXPLAIN 表名;<br>SHOW COLUMNS FROM 表名;<br>SHOW FIELDS FROM 表名;
显示创建语句
SHOW CREATE TABLE 表名;
修改表
修改表名
ALTER TABLE 旧表名 RENAME TO 新表名;
RENAME TABLE 旧表名1 TO 新表名1, 旧表名2 TO 新表名2, ... 旧表名n TO 新表名n;
增加列
ALTER TABLE 表名 ADD COLUMN 列名 数据类型 [列的属性];
插入到第一列
ALTER TABLE 表名 ADD COLUMN 列名 列的类型 [列的属性] FIRST;
插入到指定列的后面
ALTER TABLE 表名 ADD COLUMN 列名 列的类型 [列的属性] AFTER 指定列名;
删除列
ALTER TABLE 表名 DROP COLUMN 列名;
修改列信息
ALTER TABLE 表名 MODIFY 列名 新数据类型 [新属性];
ALTER TABLE 表名 CHANGE 旧列名 新列名 新数据类型 [新属性];
修改列排列位置
将列设为第一行
ALTER TABLE 表名 MODIFY 列名 列的类型 列的属性 FIRST;
将列放到指定列的后面
ALTER TABLE 表名 MODIFY 列名 列的类型 列的属性 AFTER 指定列名;
多个修改操作
ALTER TABLE 表名 操作1, 操作2, ..., 操作n;
增删改查
简单的查询
列的别名
SELECT 列名 [AS] 列的别名 FROM 表名;
查询多个列
SELECT 列名1, 列名2, ... 列名n FROM 表名;
去除单列的重复结果
SELECT DISTINCT 列名 FROM 表名;
去除多列的重复结果
SELECT DISTINCT 列名1, 列名2, ... 列名n FROM 表名;
限制查询结果条数
LIMIT 开始行, 限制条数;
LIMIT 限制条数;
对查询结果排序
ORDER BY 列名 ASC|DESC
ORDER BY 列1 ASC|DESC, 列2 ASC|DESC ...
简单的搜索条件
比较操作符
=
<> 或者 !=
<
<=
>
>=
between ... and ...
not between ... and ...
匹配NULL值
is null
is not null
通配符
like
% 代表任意一个字符串
_ 代表任意一个字符
转义字符
'\%'代表普通字符'%'
'\_'代表普通字符'_'
not like
分组查询
SELECT [DISTINCT] 查询列表<br>[FROM 表名]<br>[WHERE 布尔表达式]<br>[GROUP BY 分组列表 ]<br>[HAVING 分组过滤条件]<br>[ORDER BY 排序列表]<br>[LIMIT 开始行, 限制条数]
简单的插入
INSERT INTO 表名(列1, 列2, ...) VALUES(列1的值,列2的值, ...);
批量插入
INSERT INTO 表名(列1,列2, ...) VAULES(列1的值,列2的值, ...), (列1的值,列2的值, ...), (列1的值,列2的值, ...), ...;