0
点赞
收藏
分享

微信扫一扫

MySQL学习中的DDL的语法知识1(库和表的管理)

cnlinkchina 2022-01-20 阅读 62

文章目录

DDL数据定义语言

库和表的管理

功能语法
创建create
修改alter
删除drop

库的管理

语法:create database 库名;

样例

#案例:创建库Books

CREATE DATABASE IF NOT EXISTS books;

#2、库的修改(基本不修改)

#更改库的字符集
ALTER DATABASE books CHARACTER SET gbk;

#3、库的删除
DROP DATABASE IF EXISTS books;

表的管理

语法:
create table 表明(
 列名,列的类型[(长度) 约束],
  列名,列的类型[(长度) 约束],
  …
 列名,列的类型[(长度) 约束]
);

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

样例

#1.案例:创建表Book
CREATE TABLE books(
	id INT, #编号
	bname VARCHAR(20),#图书名
	price DOUBLE,#价格
	author_id INT,#作者
	publish_Date DATETIME #出版日期
)

DESC author;
#案例:创建表auther
CREATE TABLE author(
	id INT,
	au_name VARCHAR(20),
	nation VARCHAR(10)
);

#表的修改
#①修改列名

ALTER TABLE books CHANGE COLUMN publish_Date pubDate DATETIME;

#②修改列的类型或者约束

ALTER TABLE books MODIFY COLUMN pubdate TIMESTAMP;

#③添加新列

ALTER TABLE author ADD COLUMN annual DOUBLE;

#④删除列

ALTER TABLE author DROP COLUMN annual;

#⑤修改表名
`books`
ALTER TABLE books RENAME TO book_author;

表的删除

样例

DROP TABLE book_author; 

SHOW TABLES;

#通用的写法
DROP DATABASE IF EXISTS 旧库名;
CREATE DATABASE 新库名;

DROP TABLE IF EXISTS 旧表名;
CREATE TABLE 表名();

表的复制

样例

INSERT INTO author VALUES(1, 'aaa','a',1.1),
(2,'bbb','b',2.2);

#这个只能复制表的结构,不能复制表里面的内容
CREATE TABLE copy LIKE author;

DESC author ;
DESC copy;
SELECT * FROM author;
SELECT * FROM copy;

#2.复制表的结构和数据
CREATE TABLE copy2 SELECT * FROM author;

SELECT * FROM copy2;

#只复制部分
CREATE TABLE copy3
SELECT id, au_name
FROM author
WHERE nation = 'b';

SELECT * FROM copy3;

#仅仅复制某些字段
CREATE TABLE copy4
SELECT id, au_name
FROM author
WHERE 1 = 2;

表的管理

语法

create table 表明(
 列名,列的类型[(长度) 约束],
 列名,列的类型[(长度) 约束],
 …
 列名,列的类型[(长度) 约束]

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

创建表以及修改

CREATE TABLE books(
	id INT, #编号
	bname VARCHAR(20),#图书名
	price DOUBLE,#价格
	author_id INT,#作者
	publish_Date DATETIME #出版日期
)

DESC author;
#案例:创建表auther
CREATE TABLE author(
	id INT,
	au_name VARCHAR(20),
	nation VARCHAR(10)
);

#表的修改
#①修改列名

ALTER TABLE books CHANGE COLUMN publish_Date pubDate DATETIME;

#②修改列的类型或者约束

ALTER TABLE books MODIFY COLUMN pubdate TIMESTAMP;

#③添加新列

ALTER TABLE author ADD COLUMN annual DOUBLE;

#④删除列

ALTER TABLE author DROP COLUMN annual;

#⑤修改表名
`books`
ALTER TABLE books RENAME TO book_author;

表的删除

样例

DROP TABLE book_author; 

SHOW TABLES;

#通用的写法
DROP DATABASE IF EXISTS 旧库名;
CREATE DATABASE 新库名;

DROP TABLE IF EXISTS 旧表名;
CREATE TABLE 表名();

表的复制

样例

INSERT INTO author VALUES(1, 'aaa','a',1.1),
(2,'bbb','b',2.2);

#这个只能复制表的结构,不能复制表里面的内容
CREATE TABLE copy LIKE author;

DESC author ;
DESC copy;
SELECT * FROM author;
SELECT * FROM copy;

#2.复制表的结构和数据
CREATE TABLE copy2 SELECT * FROM author;

SELECT * FROM copy2;

#只复制部分
CREATE TABLE copy3
SELECT id, au_name
FROM author
WHERE nation = 'b';

SELECT * FROM copy3;

#仅仅复制某些字段
CREATE TABLE copy4
SELECT id, au_name
FROM author
WHERE 1 = 2;
举报

相关推荐

0 条评论