数据定义语言
库的管理
创建的数据库会在 MYSQL的安装目录下有个 data 文件夹
创建
语法:
create database [IF NOT EXISTS] 库名;
案例1:
创建books 数据库
CREATE DATABASE IF NOT EXISTS BOOKS;
判断是否存在该数据库,如果存在不创建。如果不存在,那么久创建
修改
RENAME DATABASE books TO 新库名 // 已经报废
修改库的字符集
ALTER DATABASE book CHARACTER set gbk;
删除
DROP DATABASE IF EXISTS books1
表的管理
**创建: create **
CREATE TABLE 表名(
列名 列的类型[(长度) 约束],
列名 列的类型[(长度) 约束],
列名 列的类型[(长度) 约束],
列名 列的类型[(长度) 约束]
...
)
案例1: 创建表 book
CREATE TABLE book(
id INT,
bname VARCHAR(20),
price DOUBLE,
authorId VARCHAR(20),
publishDate DATETIME,
)
案例2: 创建表 author
CREATE TABLE author(
id INT,
au_name VARCHAR(20),
nation VARCHAR(20)
)
修改: alter
语法:
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 book_author;
删除: drop
DROP TABLE [IF EXISTS] book_author;
通用的写法
DROP database if exists 旧库名;
CREATE databse 新库名;
DROP table if exists 旧表名;
CREATE table 表名;
表的复制
6. 只复制表的结构
CREATE TABLE copy LIKE author; // 只复制结构
- 复制表的结构和数据
CREATE TABLE copy SELECT * FROM author;
- 只复制表中的部分数据
CREATE TABLE copy SELECT * FROM author WHERE 筛选条件