DDL语句操作

DDL语句

1、创建库

	- create database test default character set utf8;
	- drop database test;

2、创建表

​ (创建表的列,列名和类型)

	- create table employees(employee_id int,employee_name varchar(30),salary float(8,2));
	- drop table employees;

3、修改表

	- alter table employees(表的名字)  rename emp(表的名字) ; 修改表名字
	- alter table emp(表的名字)  change column employee_name(列的名字) emp_name varchar(30);    修改列的名字
	- alter table emp(表的名字) modify emp_name(列的名字) varchar(40); 修改列的长度
	- alter table emp add column commission_pct float(4,2);  增加新列
	- alter table emp drop column commission_pct;  删除列
	- show databases;
	- show tables;
	- desc 表的名字;   查看表结构

4、创建表时指定约束

  • 非空约束(not null)
  • 唯一性约束(unique)
  • 主键约束(primary key)PK
  • 外键约束(foreign key)FK

示例1: department_id主键约束并且自动增长;department_name 不允许重复不允许有空值;location_id 不允许为空:

	- create table departments(department_id int primary key auto_increment,department_name varchar(30) no null unique,location_id int not null);
	- show keys from departments;  查询

示例2:创建employees表,包含employee_id,设该列为主键并且自动增长;last_name列不允许含有空值;dept_id为外键参照departments表的主键:

	- create table employees(employee_id int primary key auto_increment,last_name varchar(30)not null,dept_id int,constraint emp_fk foreign key(dept_id) references departments(department_id)); 
	外键部分语句:constraint ...

5、采用修改表的方式完成约束的添加与删除

5.1、对指定列增加主键约束:

	- alter table emp add primary key(employee_id);
	- alter table emp modify employee_id int auto_increment;  添加自增长

5.2、删除主键约束:

	- ps:若主键有自增长,需要先删除自增长,再删除主键。
	- alter table emp modify employee_id int;   去除自动增长
	- alter table emp drop primary key;  删除主键

5.3、非空约束:

	- 添加非空约束:alter table 表名 modify 列名 类型 not null;  
	- 删除非空约束:alter table 表名 modify 列名 类型 null; 

5.4、唯一性约束:

	- 添加: alter table 表名 add constraint 约束名 unique(列名);   
	- 删除: alter table 表名 drop key 约束名;   

5.5、外键约束:

	- 添加: alter table 表名 add constraint 约束名 foreign key(列名) references 参照的表明(参照的列名);   
	- alter table 表名 drop foreign key 约束名; 删除外键约束
	- alter table 表名 drop index 约束名;  删除外键约束时必须删除索引名(创建外键时会把外键放到索引中)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兴涛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值