mysql中数据定义语言_Mysql语言之数据定义语言

数据定义语言:

库和表的管理:

库的管理

创建

删除

修改

表的管理

创建

删除

修改

创建:create

修改:alter

删除:drop

一、 库的管理:

# 库的管理

# 1. 库的创建

# 语法: create database [if not exists] 库名

# 例:创建库books

create database if not exists books;

# 2. 库的修改

# 更改库的字符集

alter database books character set 要更改成的字符集;

# 3. 库的删除

drop database if exists books;

二、 表的管理:

# 表的管理

# 1. 表的创建

/*

语法:

create table 表名(

列名 列的类型[(长度) 约束]

列名 列的类型[(长度) 约束]

列名 列的类型[(长度) 约束]

...

列名 列的类型[(长度) 约束]

);

*/

# 例:创建表book

create table book(

id int,# 编号

bName varchar(20),# 书名

price double,# 价格

authorId int, # 作者

publishdate datetime # 出版日期

);

create table author(

id int,

au_name varchar(20),

nation varchar(10)

);

# 2. 表的修改

# alter table 表名 add|drop|modify|change column 列名 [列类型 约束];

# 修改列名

alter table book change [column] publishdate pudDate datetime;

# 修改列的类型或约束

alter table book modify column pubdate timestamp;

# 添加列

alter table author add column annual double;

# 删除列

alter table author drop column annual;

# 修改表名

alter table author rename to book_author;

# 3. 表的删除

drop table book_author;

# 通用的写法:

drop database if exists 旧库名;

create database 新库名;

drop table if exists 旧表名;

create table 表名();

# 4. 表的复制

# 1. 复制表的结构

create table copy like author;

# 2. 复制表的结构+数据

create table copy2

select * from author;

# 3. 只复制部分数据

create table copy3

select id , au_name

from author

where nathon='中国';

# 4. 仅仅复制某些字段

create table copy4

select id,au_name

from author

where 0;

常见约束:

含义:一种限制,用于限制表中的数据,为了保证表中数据的准确和可靠性

分类:六大约束

not null : 非空,保证该字段的值不能为空

比如:姓名,学号等

default : 默认,用于保证该字段有默认值

比如: 性别

primary key : 主键,用于保证该字段的值具有唯一性,并且非空

比如:学号,员工编号等

unique ;唯一,用于保证该字段的值具有唯一性,可以为空

比如:座位号

check : 检查约束 [ mysql中不支持 ]

比如:年龄、性别

foreign key : 外键,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列的值,再从表添加外键约束,用于引用主表中某列的值

比如:学生表的专业编号,员工表的部门编号,员工标的工种编号

添加约束的时机:

创建表时

修改表时

约束的添加分类

列级约束

六大约束语法上都支持,但外键约束没有效果

表级约束

除了非空、默认、其他的都支持

# 一、创建表时添加约束

# 1. 添加列级约束

use students

create table stuinfo(

id int primary key, # 主键

stuName varchar(20) not null,#非空

gender char(1) check(gender = '男' or gender = '女'),# 检查

seat int unique , # 唯一

age int default 18 ,# 默认约束

majorId int foreign key references major(id) # 外键

);

create table major(

id int primary key,

majorName varchar(20)

);

8.115.20

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值