#DDL
/*
数据定义语言
库和表的管理
一、库的管理
创建、修改、删除
二、表的管理
创建、修改、删除
创建:create
修改: alter
删除:drop
*/
一、库的管理
#1.库的创建
/*
语法:
create database 库名称;
*/
#案例:创建库Books
create database if not exists Books;
#2.库名称的修改
由于rename存在安全隐患,推荐直接在文件夹中更改
进入:C:\ProgramData\MySQL\MySQL Server 5.5\data
#更改库的字符集
alter database books character set gbk;
#3.库的删除
drop database if exists books;
二、表的管理
#1.表的创建
/*
create table 表名(列名 列的类型 【长度 约束】,
列名 列的类型 【长度 约束】,
。。。。
列名 列的类型 【长度 约束】)
*/
#案例:创建表book
use books;
create table book(id int,#编号
bname varchar(20),#图书名字
price double,#价格
authorID int,#作者
publishDate datetime #出版日期
);
desc book;
#创建作者表
create table author(id int,
au_name varchar(20),
nation varchar(10)
);
desc author;
#2.表的修改
/*
alter table 表名 add|drop|modify|change column 列名【列类型 约束】
*/
#(1)修改列名
#将publishDate修改为pubData
alter table book change column publishDate pubData datetime;
desc book;
#(2)修改列的类型或者约束
修改列的类型
alter table book modify column pubData timestamp;
#(3)添加新列
alter table author add column annual double 【first|after 字段名】;
desc author;
#(4)删除列
alter table author drop column annual;
#(5)修改表名
alter table author rename to author_book;
#3.表的删除(只适用于表和库)
drop table if exists author_book;
#4.表的复制
insert into author_book(id,au_name,nation) values
(1,"村上春树","日本"),
(2,"莫言","中国"),
(3,"刘念慈","中国"),
(4,"冯唐","中国");
desc author_book;
select * from author_book;
仅仅复制表的结构
create table copy like author_book;
# 显示一下,发现啥都没有
select * from copy;
复制表的结构+数据
create table copy2 select * from author_book;
select * from copy2;
只复制部分数据
create table copy3 select id,au_name from author_book where nation="中国";
select * from copy3;
仅仅复制某些字段
create table copy4 select id,au_name from author_book where 0;
select * from copy4;