/*
数据库定义语言
库和表的管理
1.库的管理
创建、修改、删除
2.表的管理
1.创建 create
2.修改 alter
3.删除 drop
*/
二、库的管理
2.1 库的创建、修改、删除
-- 1.库的创建
/*
语法
create database [if not exists] 库名
通用
drop database if exists 旧库名
create database 新库名
*/
-- 1.创建Books库
CREATE DATABASE IF NOT EXISTS Books;
-- 2.库的修改(更改库的字符集)
ALTER DATABASE books CHARACTER SET gbk;
-- 3.库的删除
DROP DATABASE books;
三、表的管理
3.1 表的创建、修改、删除、复制
-- 1.表的创建
/*
语法
create table 表名(
列名 类型[(长度) 约束],
列名 类型[(长度) 约束],
列名 类型[(长度) 约束],
...
)
通用
drop table if exists 旧表名;
create table 表名();
*/
-- 1.创建book表
CREATE TABLE book(
id INT,
bname VARCHAR(20),
price DOUBLE,
authorId INT,
publishDate DATETIME
);
-- 2.创建author表
CREATE TABLE IF NOT EXISTS author(
id INT,
au_name VARCHAR(20),
nation VARCHAR(10)
);
-- 2.表的修改
/*
语法
alter table 表名
add|drop|modify|change column 列名 [列类型 约束]
*/
-- 1.修改列名
ALTER TABLE book
CHANGE COLUMN publishdate pubDate DATETIME;
-- 2.修改列的类型或约束
ALTER TABLE book
MODIFY COLUMN pubDate TIMESTAMP;
-- 3.添加列
ALTER TABLE author ADD COLUMN annual DOUBLE;
-- 4.删除列
ALTER TABLE author DROP COLUMN annual;
-- 5.修改表名
ALTER TABLE author RENAME TO book_author;
-- 3.表的删除
/*
*/
DROP TABLE IF EXISTS book_author;
SHOW TABLES;
-- 4.表的复制
/*
*/
INSERT INTO author
VALUES(1,'村上','日本'),
(2,'莫言','中国'),
(3,'冯唐','中国'),
(4,'金庸','中国');
-- 1.仅仅复制表的结构
CREATE TABLE copy LIKE author;
-- 2.复制表的结构+数据
CREATE TABLE copy2
SELECT * FROM author;
-- 3.只复制部分数据
CREATE TABLE copy3
SELECT id,au_name
FROM author
WHERE nation = '中国';
-- 4.复制表的部分结构
CREATE TABLE copy4
SELECT id,au_name
FROM author
WHERE 0;