3.DDL语言

DDL语言

CREATE

ALTER

DROP

1.创建、删除数据库

创建数据库
CREATE DATABASE test DEFAULT CHARACTER SET utf8;
  • test是数据库名称
  • DEFAULT CHARACTER SET 是设置数据库的编码
查看数据库:
SHOW DATABASE;
查看数据库编码:
SELECT schema_name,default_character_set_name
FROM information_schema.schmata
WHERE schema_name="test";
删除数据库
DROP DATABASE test;
选择数据库
USE test;

2.创建、删除和修改表

1.)创建和删除表

创建表

CREATE TABLE emp(employee_id int, 
                 employee_name varchar(10), 
                 salary float(8,2));

查看已经创建的表

SHOW TABLES;

删除表

DROP TABLE emp;

创建表的三种方法

# 1.常规创建
create table if not exists 目标表

# 2.复制表格
create 目标表 like 来源表

# 3.将table1的部分拿来创建table2
create table if not exists actor_name
(
first_name varchar(45) not null,
last_name varchar(45) not null
)
select first_name,last_name
from actor

2.)修改表

修改表名

ALTER TABLE emp RENAME emp1;

修改列名

ALTER TABLE emp CHANGE COLUMN col1 col2 varchar(10);

修改列类型

ALTER TABLE emp MODIFY employee_name vachar(20);

增加新列

ALTER TABLE emp ADD COLUMN new_col varchar(10);

删除指定列

ALTER TABLE emp DROP COLUMN col_name;

3.约束

3.1约束概述

数据库约束是对表中的数据进行进一步的约束,保证数据的正确性、有效性和完整性。

3.2约束的种类

1.主键约束

主键约束(PRIMARY KEY)是使用比较频繁的约束。主键是表的一个特殊字段,该字段能唯一标识该表中的每一条信息。

特点:

  1. 不允许为空
  2. 一张表只允许有一个主键约束
  3. 不允许重复出现
  4. 保证数据的唯一性
2.外键约束

外键约束(FOREIGN KEY)经常与主键约束一同使用,用来确保数据的参照完整性。

特点:

  1. 外键约束允许有空值
  2. 外键约束允许重复
  3. 外键约束的值必须是参照表中的参照列(该列为主键)中所包含的值
  4. 保证数据的参照完整性
3.唯一约束

唯一约束(UNIQUE KEY)与主键约束相似,都是确保列中值得唯一性,唯一约束可以存在多个。

特点:

  1. 不允许重复
  2. 允许空值
  3. 允许多个列田间唯一约束
  4. 保证数据的唯一性
4.非空约束

非空约束(NOT NULL)用来约束表中的值不允许为空。

特点:

  1. 允许重复
  2. 不允许为空
  3. 保证数据的值没有空值
5.检查约束(MySQL没有)

检查约束(CHECK)是用户自定义的约束,是用来检查数据表中 字段值是否有效的手段

3.3 添加和删除约束

1.主键约束

主键列支持添加”自增“功能

  • 一个表中只能有一列为自增长
  • 自增长只能添加到主键约束列或唯一约束列
  • 自增长的类型只能为整数类型
  • 删除主键约束列或唯一约束列时需要先删除该列的自增长
#添加约束
ALTER TABLE emp ADD PRIMARY KEY(col_name);
#添加主键自增长
ALTER TABLE emp MODIFY col_name int AUTO_INCREMENT;

#删除自增长
ALTER TABLE emp MODIFY col_name int;
#删除约束
ALTER TABLE emp DROP PRIMARY KEY;
2.外键约束
#添加约束 
#emp是表名,emp_FK是约束名,col_name是列名,emp1是参考的表,col_name1是参考表的参考列
ALTER TABLE emp ADD CONSTRAINT emp_FK FOREIGN KEY col_name REFERENCES emp1(col_name1);

#删除约束
ALTER TABLE emp DROP FOREIGN KEY emp_FK;
3.唯一约束
#添加约束
ALTER TABLE emp ADD CONSTRAINT emp_un UNIQUE(col_name);

#删除约束
ALTER TABLE emp DROP UNIQUE emp_un;
4.非空约束
#添加约束
ALTER TABLE emp MODIFY col_name int NOT NULL;

#删除约束
ALTER TABLE emp MODIFY col_name int NULL;
5.查询表中的约束
SHOW KEYS FROM emp;
6.在创建表时添加约束
CREATE TABLE emp1(
    col_name1 int PRIMARY KEY AUTO_INCREMENT,
    col_name2 char UNIQUE,
    col_name3 varchar(10) NOT NULL,
    CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES tb_dept1(id));
posted @ 2022-01-19 18:44  只强  阅读(30)  评论(0编辑  收藏  举报