DDL语言(数据定义语言)
一:库的管理
创建,修改,删除
二:表的管理
创建,修改,删除
创建:create
修改:alter
删除:drop
一:库的管理库的创建
语法:创建库Books
create database if not exists books;
更改库的字符集
alter database books character set gbk;
删除库
drop database if exists book;
二:表的管理
表的创建
create table 表名(
列名 列的类型 【(长度) 约束】,
列名 列的类型 【(长度) 约束】,
列名 列的类型 【(长度) 约束】,
..........
);
案例:创建Book表
create table book(
id int,
byName varchar(20),
price double,
authorId int,
publishDate datetime
);
表的修改
特点:
alter table 表名 add | drop | modify change column 列名 【列类型 约束】;
一:修改列名
ALTER TABLE book CHANGE COLUMN publishDate newDate TIMESTAMP;
二:修改列的类型或约束
ALTER TABLE book MODIFY COLUMN newDate datetime;
三:添加新列
ALTER TABLE book ADD COLUMN annual DOUBLE;
四:删除列
ALTER TABLE book DROP COLUMN annual;
五:修改表名
ALTER TABLE book RENAME TO book_author;
表的删除
DROP TABLE
IF
EXISTS book_author;
通用的写法创建库
DROP DATABASE
IF
EXISTS 旧库名;
CREATE DATABASE 新库名;
通用的写法创建表
DROP TABLE
IF
EXISTS 旧表名;
CREATE TABLE 新表名 ();
表的复制
INSERT INTO author
VALUES
( 1, '村上春树', '日本' ),
( 2, '莫言', '中国' ),
( 3, '冯唐', '中国' );
一:仅仅复制表的结构
copy 复制的新表名 book_author 原始的表
CREATE TABLE copy LIKE book_author;
复制表的结构和数据
CREATE TABLE copy2 SELECT
*
FROM
book_author;
只复制部分数据
CREATE TABLE copy3 SELECT
id,
au_name
FROM
author
WHERE
nation = '中国';
仅仅复制某些字段
CREATE TABLE copy4 SELECT
id,
au_name
FROM
author
WHERE
0;
练习题:
创建表dept1
CREATE TABLE dept1 (
id INT ( 7 ),
NAME VARCHAR ( 25 ));
将表departments中的数据插入到新表dept2中
CREATE TABLE dept2 SELECT
department_id,
department_name
FROM
myemployees.departments;
创建表emp5
CREATE TABLE emp5 (
id INT ( 7 ),
first_name VARCHAR ( 25 ),
last_name VARCHAR ( 25 ),
dept_id INT ( 7 ));
将emp5表中的last_name的长度增加到50
ALTER TABLE emp5 MODIFY COLUMN last_name VARCHAR ( 50 );
根据表employees创建employee2
CREATE TABLE employee2 LIKE myemployees.employees;
删除表emp5
DROP TABLE
IF
EXISTS emp5;
将表employee2重命名为emp5
ALTER TABLE employee2 RENAME TO emp5;
在表dept1和emp5中添加新列test_column
ALTER TABLE emp5 ADD COLUMN test_column INT;
ALTER TABLE dept1 ADD COLUMN test_column INT;
直接删除表emp5中的列test_column
ALTER TABLE emp5 DROP COLUMN test_column;