文章目录
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;