表的管理
1.表的创建
CREATE TABLE 表名(
列名 列的类型 [(长度) 约束],
列名 列的类型 [(长度) 约束],
列名 列的类型 [(长度) 约束],
列名 列的类型 [(长度) 约束],
...
列名 列的类型 [(长度) 约束]
)
#创建book表
CREATE TABLE book(
id INT,#编号
bName VARCHAR(20),#图书名
price DOUBLE,#价格
authorID INT,#作者编号
publishDate DATETIME
)
DESC book;
#创建表author
CREATE TABLE IF NOT EXISTS author(
id INT,
au_name VARCHAR(20),
nation VARCHAR(10)
)
DESC author;
2.表的修改
ALTER TABLE 表名 ADD|DROP|MODIFY|CHANGE COLUMN 列名 [列类型 约束];
#修改列名,旧名在前,新名在后
ALTER TABLE book CHANGE COLUMN publishDate pubDate 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 boo_author;
DESC book;
DESC author;
3.表的删除
DROP TABLE IF EXISTS book_author;
SHOW TABLES;
#通用的写法:
DROP DATABASE IF EXISTS 旧库名;
CREATE DATABASE 新库名;
DROP TABLE IF EXISTS 旧表名;
CREATE TABLE 表名();
4.表的复制
INSERT INTO boo_author VALUES
(1,'莫言','中国',10000),
(2,'韩寒','中国',10000);
#仅仅复制表的结构
CREATE TABLE copy LIKE boo_author;
#复制表的结构+数据
CREATE TABLE copy2
SELECT * FROM boo_author;
#只复制部分数据
CREATE TABLE copy3
SELECT id,au_name
FROM boo_author
WHERE nation = '中国';
#仅仅复制某些字段的结构,不复制里面的数据
CREATE TABLE copy4
SELECT id,au_name
FROM boo_author
WHERE 0;
SELECT * FROM boo_author;
SELECT * FROM copy;
SELECT * FROM copy2;
SELECT * FROM copy3;