库操作
[查] - 查看所有数据库
SHOW DATABASES;
[增] - 创建新数据库
CREATE DATABASE 库名;
[查] - 查看创建数据库的SQL的语句
SHOW CREATE DATABASE 库名;
[用] - 使用数据库
USE 库名;
[改] - 修改数据库的编码结构
ALTER DATABASE 库名 DEFAULT CHARACTER SET 编码结构;
[删] - 删除数据库
DROP DATABASE 库名;
[查] - 查看当前使用的数据库
SELECT DATABASE();
表操作
[查] - 查看该数据库所有数据表
SHOW TABLES;
[查] - 查看表结构
DESC 表名;
[查] - 查看创表语句
SHOW CREATE TABLE 表名;
[查] - 查看引擎
SHOW ENGINES;
[增] - 创建新数据表
CREATE TABLE 表名 (
列名1 数据类型 [约束 注释],
列名2 数据类型 [约束 注释],
列名3 数据类型 [约束 注释]
) CHARACTER SET 编码结构;
表的约束
约束条件 |
含义 |
UNSIGNED |
无符号约束 |
NULL |
空约束 |
NOT NULL |
非空约束 |
AUTO_INCREMENT |
自动增长约束 |
PRIMARY KEY |
主键约束 |
FOREIGN KEY |
外键约束 |
DEFAULT |
默认约束 |
UNIQUE |
唯一约束 |
CHARACTER SET name |
指定字符集 |
MySQL的数据类型
数值类型
类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途
---|---|---|---|---|---|
TINYINT | 1字节 | (-128, 127) | (0, 255) | 小整数值
SMALLINT | 2字节 | (-32768, 32767) | (0, 65535) | 大整数值
MEDIUMINT | 3字节 | (-8388608, 8388607) | (0, 16777215) | 大整数值
INT或INTEGER | 4字节 | (-2147483648, 2147483647) | (0, 4294967295) | 大整数值
BIGINT | 8字节 | (-9 233 372 036 854 775 808,9 223 372 036 854 775 807) | (0,18 446 744 073 709 551 615) | 极大整数值
FLOAT | 4字节 | (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) | 0,(1.175 494 351 E-38,3.402 823 466 E+38) | 单精度浮点数值
DOUBLE | 8字节 | (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) | 双精度浮点数值
DECIMAL | 对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 | 依赖于M和D的值 | 依赖于M和D的值 | 小数值
日期类型
类型 |
大小 |
范围 |
格式 |
用途 |
DATE |
3 |
1000-01-01/9999-12-31 |
YYYY-MM-DD |
日期值 |
TIME |
3 |
'-838:59:59'/'838:59:59' |
HH:MM:SS |
时间值或持续时间 |
YEAR |
1 |
1901/2155 |
YYYY |
年份值 |
DATETIME |
8 |
1000-01-01 00:00:00/9999-12-31 23:59:59 |
YYYY-MM-DD HH:MM:SS |
混合日期和时间值 |
TIMESTAMP |
4 |
1970-01-01 00:00:00/2038. 结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07 |
YYYYMMDD HHMMSS |
混合日期和时间值,时间戳 |
字符串类型
类型 |
大小 |
用途 |
CHAR |
0-255字节 |
定长字符串 |
VARCHAR |
0-65535 字节 |
变长字符串 |
TINYBLOB |
0-255字节 |
不超过 255 个字符的二进制字符串 |
TINYTEXT |
0-255字节 |
短文本字符串 |
BLOB |
0-65 535字节 |
二进制形式的长文本数据 |
TEXT |
0-65 535字节 |
长文本数据 |
MEDIUMBLOB |
0-16 777 215字节 |
二进制形式的中等长度文本数据 |
MEDIUMTEXT |
0-16 777 215字节 |
中等长度文本数据 |
LONGBLOB |
0-4 294 967 295字节 |
二进制形式的极大文本数据 |
LONGTEXT |
0-4 294 967 295字节 |
极大文本数据 |
注:
一个汉字占多少长度与编码有关:
UTF-8:一个汉字=3个字节
GBK:一个汉字=2个字节
[删] - 删除数据表
DROP TABLE 表名;
[删] - 删除列
ALTER TABLE 表名 DROP 列名;
[改] - 插入一个新列
ALTER TABLE 表名 ADD 列名 列数据类型 [AFTER 插入位置];
ALTER TABLE 表名 ADD 列名 列数据类型 [FIRST 插入位置];
[改] - 修改已有列类型等
ALTER TABLE 表名 MODIFY 列名 新类型 [新参数 约束];
[改] - 修改列名
ALTER TABLE 表名 CHANGE 旧列名 新列名 新类型 新参数;
[改] - 修改表名
ALTER TABLE 旧表名 RENAME 新表名;
记录操作
[增] - 插入记录**
INSERT INTO 表名 (列名1, 列名2, 列名3,......) VALUES
(数据, 数据, 数据,......),
(数据, 数据, 数据,......),
(数据, 数据, 数据,......),
(数据, 数据, 数据,......);
[查] - 查找记录***
SELECT 列名1, 列名2,...... FROM 表名 [WHERE 条件];
-
WHERE 条件;
<条件表达式>
-
GROUP BY 列名 [ASC/DESC];
<查询结构分组>(ASC升序,DESC降序)
-
HAVING 条件;
<过滤组>
-
ORDER BY 列名 [ASC/DESC];
<排序>(ASC升序,DESC降序)
-
LIMIT M,N;
<限制查询结果返回数量>(从m+1行开始,返回n行)
[改] - 修改记录
UPDATE 表名 SET 列名=新值 WHERE 更新条件;
[删] - 删除记录
DELETE FROM 表名 WHERE 删除条件;
[删] - 删除记录并清空主键记录
TRUNCATE TABLE 表名;
网友评论