/*进阶 11
DDL 数据库定义语言
库和表的管理
一:库的管理:创建/修改/删除
二:表的管理:创建/修改/删除
创建: CREATE DATABASE [IF NOT EXISTS] 库名;
修改: alter
删除: DROP DATABASE [IF EXISTS] 库名;
*/
#一 : 库的管理
#1 库的创建
CREATE DATABASE books; CREATE DATABASE IF NOT EXISTS books; #2/库的修改
#库名的修改,需要停止服务器,然后修改本地文件,重启服务器;
#3 更新库的字符集为
ALTER DATABASE books
CHARACTER SET gbk;
#4 库的删除
DROP DATABASE IF EXISTS books; #二: 表的管理
/* #1:表的创建 create table [if not exists] 表名(
列名 列的类型[长度 , 约束]
列名 列的类型[长度 , 约束]
列名 列的类型[长度 , 约束]
列名 列的类型[长度 , 约束]
) #2:表的修改 (下面有具体的栗子)
alter table 表名 add/drop/modify/change column 列名 [列类型 约束]; #3: 表的删除
drop table [if exists] 表名; #4: 删除表的全部数据
delete from 表名 where --; #通用的开发经验:
drop datebase if exists 旧的库名;
create datebase 新库名; 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,author_name FROM author WHERE nation='中国'; #4):仅仅复制某些字段(where 一个恒假的字段):
CREATE TABLE copy4 SELECT id,author_name FROM author WHERE 0; #永远为假 */
#创建book表
CREATE DATABASE IF NOT EXISTS books;
CREATE TABLE book(
id INT, #编号
bName VARCHAR(20) , #一个汉字或者字母都是一个字符,规定字符个数的长度
price DOUBLE ,
author INT, #作者
publishDate DATETIME #出版日期
);
#创建表author CREATE TABLE IF NOT EXISTS author(
id INT,
author_name VARCHAR(20),
nation VARCHAR(10)
);
DESC author; #2 表的修改:
#修改列名: (必须要加上列名,顺带可以修改列的属性)
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 book_author; #3:表的删除
DROP TABLE IF EXISTS book_author;
SHOW TABLES; #4: 表的复制
INSERT INTO AUTHOR
VALUES(1,'莫言','中国'),(2,'村上春树','中国');
#1):仅仅复制表的结构(全部的字段)
CREATE TABLE copy LIKE author; #2):复制表的结构和数据
CREATE TABLE copy2
SELECT * FROM author; #3):只复制部分数据
CREATE TABLE copy3
SELECT id,author_name
FROM author
WHERE nation='中国'; #4):仅仅复制某些字段(1=2):
CREATE TABLE copy4
SELECT id,author_name
FROM author
WHERE 0; #永远为假