SQL分类
-
DDL语句:数据定义语句,定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。(create、drop、alter等)
-
DML语句:数据操纵语句,用于增删改查的操作,并检查数据完整性。
-
DCL语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问级别和安全级别。(grant、revoke等)
DDL语句
数据库的操作
create database 数据库名 charset=utf8;
数据表的操作
create table user(id int(11),name varchar(50))default charset=utf8;
create table 表名(字段名 类型(长度),字段2 类型(长度))engine=引擎 default charset=utf8;
# mysql中没有utf-8只有utf8 ;引擎在文章下面有介绍
drop table 表名;
truncate table 表名; #下次插入数据 id下标就从1开始
alter table 旧表名 rename 新表名;
alter table user rename users;
数据字段的操作
alter table user modify name int(30);
alter table 表名 modify 字段名 新类型(新长度);
alter table user add column age tinyint; # 默认加到最后 ,column可加可不加
alter table 表名 add column 新字段名 类型(长度);
alter table 表名 drop column 字段名; # column可加可不加
alter table 表名 change 旧字段名 新字段名 类型(长度);
# 可以修改名字的同时修改字段类型
alter table user add password varchar(30) first; # 添加到第一位
# 添加到指定字段的后面
alter table user add column 新字段名 类型(长度) after 存在的字段名;
-
- 已经存在的表字段 调整顺序 (modify first/after)
alter table user modify id int(11) first; # 将id字段调整至第一位
alter table user modify age tinyint after id; # 将age字段调整至id字段后面
引擎(常用的引擎:innodb 、 myisam)
myisam 、innodb引擎的区别
- myisam
- 不支持事务
- 表锁 锁住整张表
- 在服务器中的文件存放格式 *.frm *.MYD *.MYI
- innodb
- 支持事务 如果说数据出错 支持数据回滚 保证数据的安全
- 行锁
- 在服务器中的文件存放格式*.frm *.ibd