mysql快速上手之DDL数据定义语句

tlsmile 2020-01-13

SQL分类

  • DDL语句:数据定义语句,定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。(create、drop、alter等)
  • DML语句:数据操纵语句,用于增删改查的操作,并检查数据完整性。
  • DCL语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句,这些语句定义了数据库、表、字段、用户的访问级别和安全级别。(grant、revoke等)

DDL语句

数据库的操作

    • 创建数据库
create database 数据库名 charset=utf8;
    • 查看存在哪些数据库
show databases;
    • 选择要操作的数据库
use 数据库名;
    • 查看数据库中创建爱你的所有数据表
show tables;
    • 删除数据库
drop database 数据库名;

数据表的操作

    • 创建数据表
create table user(id int(11),name varchar(50))default charset=utf8;

create table 表名(字段名 类型(长度),字段2 类型(长度))engine=引擎 default charset=utf8; # mysql中没有utf-8只有utf8 ;引擎在文章下面有介绍
    • 查看表结构
show tables;
desc 表名;
    • 删除表
drop table 表名;
    • 修改表名
alter table 旧表名 rename 新表名;
alter table user rename users;

数据字段的操作

    • 修改表字段的类型(modify)
alter table user modify name int(30);
alter table 表名 modify 字段名 新类型(新长度);
    • 添加字段(add)
alter table user add column age tinyint; # 默认加到最后 ,column可加可不加
alter table 表名 add column 新字段名 类型(长度);
    • 删除字段(drop)
alter table 表名 drop column 字段名; # column可加可不加
    • 给字段改名(change)
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

相关推荐