SQL(Structured Query Language 结构化查询语言)
|
标准SQL语句类型 |
查询语句
|
select关键字,SQL语句中最复杂但功能最丰富
|
DML
数据操作语言
|
insert、update、delete
|
DDL
数据定义语言
|
create(创建)、alter(修改)、drop(删除)、truncate(快速删表) 数据库对象
|
DCL
数据控制语言
|
grant、revoke;【授权、回收用户权限,通常无需程序员操作】
|
事物控制语句
|
commit、rollback、savepoint
|
2、SQL语句字符串:单引号
3、
标识符:以字母开头,包括字母、数字和三个特殊符号(#_$),建议多单词下划线连缀;
DDL语句:操作数据库对象的语句
4、常见数据库对象:
table表:列是字段,行是记录
数据字典:就是系统表,存放数据库相关信息的表,程序员一般不用手动改
constraint约束:数据检验规则
view视图:数据的逻辑显示,不储存数据
index索引:为了提高数据查询的性能
function函数:完成特定计算,具有返回值
procedure存储过程:完成特定的业务处理,没有返回值
trigger触发器:相当于一个事件监听器
5、《MySql建表》
6、修改表结构ALTER
增加列定义、修改列定义、删除列、重命名列。
增加列定义ADD:(新增不存在的)
ALTER TABLE student
ADD new_id INT; #新增一列可以省略圆括号
ALTER TABLE student ADD(
#指定初始值为dog
love VARCHAR(255)DEFAULT'dog',
noLove VARCHAR(255)
)
#
(
MySql
不
支
持一
个modify命
令修改多
个
列定义,可在ALTER TABLE后使用多个MODIFY)
ALTER TABLE student
MODIFY new_id VARCHAR(255),
MODIFY noLove INT
删除列定义
DROP:
ALTER TABLE student DROP noLove
重命名数据表RENAME:
ALTER TABLE student RENAME TO newstu
# 同样,若表中已有数据,修改列定义很容易失败。
ALTER TABLE student CHANGE new_id idid INT
7、删除表DROP
DROP TABLE personnew
8、表
TRUNCATE
TRUNCATE table
截断表,清空所有数据但保留表结构;只能一次性删除所有数据。
MySQL对其处理较特殊,若使用非InnoDB机制,truncate比delete快;
对于InnoDB机制,在5.0.3之前,truncate和delete一样;在5.0.3之后,truncate比delete高效,但如果表被外键约束参照,则变为delete操作;5.1.3后,快速truncate总是可用,即更高效。
1、数据库中不能重复的字段
主键、唯一键:
PRIMARY KEY (`KeyID`),
UNIQUE KEY `UK_BaseDataDetailed201512_` (`PayNum`),