作者:就叫易易好了
日期:2020/11/23
DDL即数据定义语言
创建:create
修改:alter
删除:drop
语法:
create database 库名;
案例:创建库Books
CREATE DATABASE Books;
如果已经存在Books数据库,那么编译器就会报错
所以不确定有没有要创建的数据库的时候
我们可以采用以下语句:
CREATE DATABASE IF NOT EXISTS Books;
这样的话如果存在Books数据库,也不会报错
不存在这个数据库,就会创建这个数据库
此时数据库里就多了一个Books库
一般建立的数据库的位置在
你安装的盘/MySQL/mysql server/data
如果要修改库名的话,目前没有语句可以修改(安全性低)
可以通过上面说的库的地址,直接重命名库的名字。
没事别瞎改
DROP DATABASE Books;
或者
DROP DATABASE IF EXISTS Books;(推荐)
语法:
create table 表名
(
列名 列的类型【(长度) 约束】,
列名 列的类型【(长度) 约束】,
…
列名 列的类型【(长度) 约束】
)
CREATE TABLE Book(
id INT,#编号
bName VARCHAR(20),#图书名
price DOUBLE,#价格
authorid INT,#作者编号
publishDate DATETIME #出版日期
);
CREATE TABLE author (
id INT,
author_name VARCHAR(20),
nation VARCHAR(10) #国籍
);
语法:
alter table 表名 add|drop|modify|change conlumn
如果我想把book表里的publishDate改成PD,可以这样写:
ALTER TABLE book CHANGE COLUMN publishdate PD DATETIME;
如果我要把book表里的PD改成timestamp类型
ALTER TABLE book MODIFY COLUMN PD TIMESTAMP;
如果我要在author表中添加一个annual列,可以使用以下语句
ALTER TABLE author ADD COLUMN annual DOUBLE;
现在我要把刚才在author表中添加的列删除,可以使用以下语句:
ALTER TABLE author DROP COLUMN annual;
如果我要把book表重命名为bookname,可以使用一下语句
ALTER TABLE book RENAME TO bookname;
现在我要删除bookname这个表格
DROP TABLE bookname;
先在author表中插入几个数据
INSERT INTO author VALUES
(1,'余秋雨','中国'),
(2,'贾平凹','中国'),
(3,'东野圭吾','日本'),
(4,'莫言','中国');
此时author表格为:
CREATE TABLE copy LIKE author;
此时copy表中的结构和author表一样,但是没有数据。
CREATE TABLE copy_2
SELECT * FROM author;
CREATE TABLE copy_3
SELECT id,author_name
FROM author
WHERE nation='中国';
CREATE TABLE copy_4
SELECT id,author_name
FROM author
WHERE 100=200; #一个恒不成立的条件,这时就是空表了,只有两个表头
或者写成WHERE 0;
未完待续