MySQL的DDL语言:1、库和表的管理(创建、修改、删除)
2021/12/20 2:19:55
本文主要是介绍MySQL的DDL语言:1、库和表的管理(创建、修改、删除),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- DDL语言
- 库的管理
- 库的创建
- 库的修改
- 库的删除
- 表的管理
- 表的创建
- 表的修改
- 表的删除
- 表的复制
- 练习
DDL语言
DDL:数据定义语言 一、库的管理 创建、修改、删除 二、表的管理 创建、修改、删除 创建:create 修改:alter 删除:drop 【注】delete、update是对表中数据的操作,属于数据操作语言DML
库的管理
库的创建
语法: create database 库名; create database if not exit 库名;
创建库 Books
create database Book; #若所创建的数据库已存在,则报错,可以使用以下语句 create database if not exists Book;#若所创建的数据库存在,则不创建,若不存在,则创建数据库
库的修改
#rename database 库名 to 新库名;#修改库名,该方式已废弃 更改库的字符集 alter database 库名 character set 字符集;
alter database books character set gbk;
库的删除
drop database 库名; drop database if exists 库名;
drop database Book;#若不存在库,则报错 drop database if exists Book;
表的管理
表的创建
语法: create table 表名( 字段名 字段类型[(长度)] [字段的约束], 字段名 字段类型[(长度)] [字段的约束], ...... 字段名 字段类型[(长度)] [字段的约束] );
案例1:创建表Book
create table book( id int,#书的编号 bname varchar(20)# 图书名 20为字符的最大长度 price double,# 价格 authorId int, #作者编号 publishDate datetime #出版日期 );
创建表author
create table author( id int, au_name varchar(20), nation varchar(10) );
表的修改
表的修改核心语法 alter table 表名 add|drop|modify|change column 列名 [列的类型] [约束] 1、修改列名 alter table 表名 change column 旧列名 新列名 类型; alter table book change column publishdate pubDate datetime;#column 可以省略 2、修改列的类型或约束 alter table 表名 modify column 需修改的列名 修改后的类型 alter table book modify column pubdate timestamp; 3、添加新列 alter table 表名 add column 新添加的列名 类型; alter table author add column annual double; 4、删除列 alter table 表名 drop column 列名; alter table author drop column annual; 5、修改表名 alter table 旧表名 rename to 新表名; alter table author rename to book_author;
表的删除
drop table 表名; drop table if exists 表名;#if exists和if not exists 只在库或表的删除或创建的时候可以使用,列则不行
通用写法
drop database if exists 旧库名; create database 新库名; drop database if exists 旧表名; create database 新表名();
表的复制
1、仅仅复制表的结构 create table 复制的表 like 被复制地表; #仅仅只能复制表地结构,但内部地数据不能复制 2、复制表的结构和数据 (1)、复制全部的数据 create table 复制的表 select * from 被复制的表; #将表的结构和数据复制到一个新的表中 create table copy select * from author; (2)、复制部分的数据 create table 复制的表 select 列1,列2... from 被复制的表 where 筛选条件; #只复制筛选出来的部分 create table copy select id,au_name from author where nation='中国'; (3)、仅仅复制某些字段(不需要数据)#此时的like已不适合使用 create table 复制的表 select 列1,列2... from 被复制的表 where 0 create table copy select id,au_name from author where 0;#0代表的是false,1代表true
练习
- 创建表 dept1
name | Null? | type |
---|---|---|
id | int(7) | |
name | varchar(25) |
create table dept1( id int(7), name varchar(25) );
- 将表 departments 中的数据插入新表 dept2 中
create table dept2 select * from myemployees.departments; #库名.表名 实现跨库复制表的结构
- 创建表 emp5
name | Null? | type |
---|---|---|
id | int(7) | |
First_name | varchar(25) | |
Last_name | varchar(25) | |
Dept_id | int(7) |
create table dept1( id int(7), first_name varchar(25), last_name varchar(25), dept_id int(7) );
- 将列 Last_name 的长度增加到 50
alter table emp5 modify column last_name vachar(50);
- 根据表 employees 创建 employees2
create table employees2 like myemployees.employees;
- 删除表 emp5
drop table if exists emp5;
- 将表 employees2 重命名为 emp5
alter table employees2 rename to emp5;
- 在表 dept 和 emp5 中添加新列 test_column,并检查所作的操作
alter table dept add column test_column int; alter table emp5 add column test_column int;
- 直接删除表 emp5 中的列 dept_id
alter table emp5 drop column dept_id;
这篇关于MySQL的DDL语言:1、库和表的管理(创建、修改、删除)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15MySQL教程:初学者必备的MySQL数据库入门指南
- 2024-11-15MySQL教程:初学者必看的MySQL入门指南
- 2024-11-04部署MySQL集群项目实战:新手入门教程
- 2024-11-04如何部署MySQL集群资料:新手入门指南
- 2024-11-02MySQL集群项目实战:新手入门指南
- 2024-11-02初学者指南:部署MySQL集群资料
- 2024-11-01部署MySQL集群教程:新手入门指南
- 2024-11-01如何部署MySQL集群:新手入门教程
- 2024-11-01部署MySQL集群学习:新手入门教程
- 2024-11-01部署MySQL集群入门:新手必读指南