MYSQL(DDL)

DDL:

数据定义语言
库与表的管理

一、库的管理
创建、修改、删除
二、表的管理
创建、修改、删除

创建:create
修改:alter
删除:drop

库的管理

库的创建

语法:create database [if not exists] 库名

案例:CREATE DATABASE IF NOT EXISTS books;

库的修改

RENAME DATABASE books to 新库名

更改库的字符集
ALTER DATABASE books CHARCTER SET gbk;

库的删除

DROP DATABASE IF EXISTE books;

表的管理

表的创建

语法:
create table 表名(
列名 列的类型 【(长度)约束】,
列名 列的类型 【(长度)约束】,
列名 列的类型 【(长度)约束】,
·····
列名 列的类型 【(长度)约束】

案例:创建表Book
CREATE TABLE Book (
id INT ,#编号
bName VARCHAR(20),#图书名
price DOUBLR,#价格
authorld INT,#作者编号
publishDate DATETIME#出版日期
);

表的修改

语法:
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 book_author DROP COLUMN annual;

⑤修改表名
ALTER TABLE author RENAME TO book_author;

表的删除

DROP TABLE IF EXISTS book_author;
语法:
①DROP DATABASE IF EXISTS 旧库名;
CREATE DATABASE 新库名;
②DAOP TABLE IF EXISTS 旧表名;
CREATE TABLE 表名();

表的复制

INSERT INTO author VALUES
(1,‘村上春树’,‘日本’),
(2,‘莫言’,‘中国’),
(3,‘冯唐’,‘中国’),
(4,‘金庸’,‘中国’);

SELECT * FROM Author;
SELECT * FROM copy2;

①仅仅复制表的结构
CREATE TABLE copy LIKE author;

②复制表的结构+数据
CREATE TABLE copy2
SELECT * FROM author;

③只复制部分数据
CREATE TABLE copy3
SELECT id,au_name
FROM author
WHERE nation=‘中国’;

④仅仅复制某些字段
CREATE TABLE copy4
SELECT id,au_name
FROM author
WHERE 0;

联合查询

union 联合 合并:将多条查询语句的结果合并成一个结果

语法:
查询语句1
union
查询语句2
union
····

应用场景:
要查询的结果来自于多个表,且多个表没有直接的关系,但查询的信息一致时

特点:

  1. 要求多条查询语句的查询列数一致的
  2. 要求多条查询语句的查询的每一列的类型和顺序最好一致
  3. union关键字默认去重,如果使用union all 可以包含重复项

案例:查询部门编号>90或邮箱包含a的员工信息
①SELECT * FROM employees WHERE department_id>90 or email LIKE ‘%a’;
② SELECT * FROM employees WHERE department_id>90
union
SELECT * FROM employees WHERE email LIKE ‘%a’;

查询中国用户中男性的信息以及外国用户中年男性的用户信息
SELECT id,cname FROM t_ca WHERE csex=‘男’
UNION ALL
SELECT t_id,tname FROM t_ua WHERE tGender=‘male’;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值