1 库的管理
1.1 库的创建
语法:
create database [if not exists]库名;
# 案例:创建库books
CREATE DATABASE IF NOT EXISTS books;
1.2 库的修改
由于修改库不够安全,因此不常用,之前有一个语句可以更改,但现在无法使用
RENAME DATABASE books TO 新库名;
更常用的是更改数据库的一些设置,如修改字符集
#更改数据库的字符集
ALTER DATABASE books CHARACTER SET gbk;
1.3 库的删除
#案例:删除books库
DROP DATABASE IF EXISTS books;
2 表的管理
2.1 表的创建
语法:
create table 表名(
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
…
列名 列的类型【(长度) 约束】
)
#案例:创建book表
CREATE TABLE book(
id INT,#编号
bName VARCHAR(20),#书名
price DOUBLE,#价格
authorId INT,#作者编号
publishDate DATETIME#出版日期
);
#案例:创建表author
CREATE TABLE author(
id INT,
au_name VARCHAR(20),
nation VARCHAR(10)
);
2.2 表的修改
语法:
alter table 表名 add|drop|modify|change column 列名 【列类型 约束】;
修改列名字
#将book表中的publishDate列改为pubDate (后面必须加要改的类型)
ALTER TABLE book CHANGE COLUMN publishDate pubDate DATETIME;
修改列的类型或约束
ALTER TABLE book MODIFY COLUMN pubdate TIMESTAMP;
添加新列
#给author表添加新列annual
ALTER TABLE author ADD COLUMN annual DOUBLE;
删除列
#删除author表的annual列
ALTER TABLE author DROP COLUMN annual;
修改表名
#将author表改名为book_author
ALTER TABLE author RENAME TO book_author;
2.3 表的删除
DROP TABLE IF EXISTS book_author;
通用的写法
DROP DATABASE IF EXISTS 旧库名;
CREATE DATABASE 新库名;
DROP TABLE IF EXISTS 旧表名;
CREATE TABLE 表名();
2.4 表的复制
#1.只复制表的结构
CREATE TABLE copy LIKE book_author;
#2.复制表的结构+数据
CREATE TABLE copy2
SELECT * FROM book_author;
#3.复制表的部分数据
CREATE TABLE copy3
SELECT id, au_name
FROM book_author
WHERE nation = '中国';
#4.仅仅复制某些字段
CREATE TABLE copy4
SELECT id,au_name
FROM book_author
WHERE 0;