1. SQL(Structured Query Language):结构化查询语言
名称 |
功能 |
命令 |
DML (数据操作语言) |
用来操作数据库中所包含的数据 |
INSERT UPDATE DELETE |
DDL (数据定义语言) |
用于创建和删除数据库对象等操作 |
CREATE DROP ALTER |
DQL (数据查询语言) |
用来对数据库中的数据进行查询 |
SELECT |
DCL (数据控制语言) |
用来控制数据库组件的存取许可、 存取权限等 |
GRANT COMMIT ROLLBACK |
2. 运算符
算术运算符
+ 加
- 减
* 乘
/ 除
% 取模
赋值运算符
=
逻辑运算符
AND 与
OR 或
NOT 非
比较运算符
运算符 |
说明 |
= |
等于,例如:age=23 |
> |
大于,例如:price>100 |
< |
小于 |
<> |
不等于 |
>= |
大于等于 |
<= |
小于等于 |
!= |
不等于(非SQL-92标准 ) |
3. 创建、显示、选择、删除数据库
CREATE DATABASE 数据库名;
SHOW databases;
USE 数据库名;
DROP DATABASE 数据库名;
4. MySQL 数据类型
1) 数值类型
类型 |
说明 |
取值范围 |
存储需求 |
TINYINT |
非常小的数据 |
有符值: -27 ~ 27-1 无符号值:0 ~ 28-1 |
1字节 |
SMALLINT |
较小的数据 |
有符值: -215 ~ 215-1 无符号值: 0 ~ 216-1 |
2字节 |
MEDIUMINT |
中等大小的数据 |
有符值: -223 ~ 223-1 无符号值: 0 ~ 224-1 |
3字节 |
INT |
标准整数 |
有符值: -231 ~ 231-1 无符号值:0 ~ 232-1 |
4字节 |
BIGINT |
较大的整数 |
有符值: -263 ~263-1 无符号值:0 ~264-1 |
8字节 |
FLOAT |
单精度浮点数 |
±1.1754351e -38 |
4字节 |
DOUBLE |
双精度浮点数 |
±2.2250738585072014e -308 |
8字节 |
DECIMAL |
字符串形式的浮点数 |
Decimal(M,D) |
M+2个字节 |
UNSIGNED属性
标识为无符号数
ZEROFILL属性
宽度(位数)不足以0填充
2) 字符串、日期类型
字符串类型 |
说明 |
长度 |
CHAR[(M)] |
定长字符串 |
M字节 |
VARCHAR[(M)] |
可变字符串 |
可变长度 |
TINYTEXT |
微型文本串 |
0~28–1字节 |
TEXT |
文本串 |
0~216–1字节 |
日期类型 |
格式 |
取值范围 |
DATE |
YYYY-MM-DD,日期格式 |
1000-01-01~ 9999-12-31 |
DATETIME |
YY-MM-DD hh:mm:ss: |
1000-01-01 00:00:00 ~9999-12-31 23:59:59 |
TIME |
hh:mm:ss: |
-835:59:59 ~ 838:59:59 |
TIMESTAMP |
YYYYMMDDHHMMSS |
1970年某时刻~2038年某时刻,精度为1秒 |
YEAR |
YYYY格式的年份 |
1901~2155 |
5. 表操作
1) 创建表
CREATE TABLE [IF NOT EXISTS] 表名 (
字段1 数据类型 [字段属性|约束][索引][注释],
……
字段n 数据类型 [字段属性|约束][索引][注释]
)[表类型][表字符集][注释];
#创建学生表
CREATE TABLE `student`(
`studentNo` INT(4) PRIMARY KEY,
` name` CHAR(10),
……);
只使用小括号,单引号,不区分大小写,
多字段使用逗号分隔
保留字用撇号括起来
单行注释:#......
多行注释:/*……*/
2) 查看表是否存在
查看表是否存在
USE myschool;
SHOW tables;
查看表定义
DESCRIBE 表名;
或
DESC 表名;
3) 删除表
DROP TABLE [IF EXISTS] 表名;
在删除表之前,先使用IF EXISTS语句验证表是否存在
4) 修改表
#修改表名
ALTER TABLE 旧表名 RENAME [TO] 新表名;
#添加字段
ALTER TABLE 表名 ADD 字段名 数据类型 [属性];
#修改字段
ALTER TABLE 表名 CHANGE 原字段名 新字段名 数据类型 [属性];
#删除字段
ALTER TABLE 表名 DROP 字段名;
# 添加主键
ALTER TABLE 表名 ADD CONSTRAINT 主键名
PRIMARY KEY 表名(主键字段);
# 添加外键
ALTER TABLE 表名 ADD CONSTRAINT 外键名
FOREIGN KEY(外键字段)
REFERENCES 关联表名(关联字段);
5) 查看帮助
HELP 查询内容;
示例:
HELP contents;
HELP Data Types;
HELP INT;
6. 字段的约束及属性
名称 |
关键字 |
说明 |
非空约束 |
NOT NULL |
字段不允许为空 |
默认约束 |
DEFAULT |
赋予某字段默认值 |
唯一约束 |
UNIQUE KEY(UK) |
设置字段的值是唯一的 允许为空,但只能有一个空值 |
主键约束 |
PRIMARY KEY(PK) |
设置该字段为表的主键 可唯一标识该表记录 |
外键约束 |
FOREIGN KEY(FK) |
用于在两表之间建立关系, 需要指定引用主表的哪一字段 |
自动增长 |
AUTO_INCREMENT |
设置该列为自增字段 默认每条自增1 通常用于设置主键 |