mysql复习2

Posted 从入门到放弃

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql复习2相关的知识,希望对你有一定的参考价值。

-- 1. 创建和管理表 CREATE TABLE

-- 方式一:
CREATE TABLE emp1(
id INT(10),
`name` VARCHAR(20),
salary DOUBLE(10, 2),
hire_date DATE
);

-- 方式二:基于现有表创建新表(相当于表的复制)
CREATE TABLE emp3
AS
SELECT *
FROM employees;

CREATE TABLE emp4
AS
SELECT employee_id, last_name, salary
FROM employees
WHERE department_id = 90;

-- 基于现有表创建新表,但是不导入数据
CREATE TABLE emp5
AS
SELECT *
FROM employees
WHERE 1 = 2;

-- 2. 修改表 ALTER TALBE

-- ①添加列
ALTER TABLE emp4
ADD age INT(2);

ALTER TABLE emp4
ADD gender VARCHAR(2) DEFAULT \'女\';

-- ②修改列
ALTER TABLE emp4
MODIFY gender VARCHAR(20);

-- ③重命名列
ALTER TABLE emp4
CHANGE gender gender22 VARCHAR(2);

-- ④删除列
ALTER TABLE emp4
DROP COLUMN age;

-- 3. 重命名表
ALTER TABLE emp4
RENAME employees4;

-- 4. 清空表
TRUNCATE TABLE emp3;

-- 5. 删除表
DROP TABLE employees4;

-- DDL : 数据定义语言,不可以回滚的,因为都是自动 commit

 


 

 

 

-- 3. 约束与分页

-- NOT NULL 非空约束,规定某个字段不能为空
CREATE TABLE emp7(
id INT(10) NOT NULL, -- 列级约束
`name` VARCHAR(20)
);

 

-- 添加非空约束
ALTER TABLE emp7
MODIFY `name` VARCHAR(25) NOT NULL;

-- 取消非空约束
ALTER TABLE emp7
MODIFY `name` VARCHAR(25) NULL;

-- UNIQUE 唯一约束,规定某个字段在整个表中是唯一的
CREATE TABLE emp8(
id INT(10),
`name` VARCHAR(20),
CONSTRAINT emp8_id_un UNIQUE(id) -- 表级约束
);

-- 组合约束
CREATE TABLE emp9(
id INT(10),
`name` VARCHAR(20),
phone VARCHAR(25),
email VARCHAR(30),
CONSTRAINT emp9_phoneAndEmail_un UNIQUE(phone, email)
);

-- 添加唯一约束
ALTER TABLE emp9
ADD CONSTRAINT emp9_name_un UNIQUE(NAME);

-- 删除唯一约束
ALTER TABLE emp9
DROP INDEX emp9_name_un;

-- PRIMARY KEY 主键(非空且唯一) : 通常利用主键确定唯一一条数据
CREATE TABLE emp10(
id INT(10) PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(20)
);


CREATE TABLE emp11(
id INT(10),
`name` VARCHAR(20),
CONSTRAINT emp11_id_pk PRIMARY KEY(id)
);

-- 添加主键约束
ALTER TABLE emp11
ADD CONSTRAINT emp11_id_pk PRIMARY KEY(id);

-- 删除主键约束
ALTER TABLE emp11
DROP PRIMARY KEY;

-- CHECK 检查约束
CREATE TABLE emp13(
id INT(10),
salary DOUBLE(10, 2),
CONSTRAINT emp13_salary_ck CHECK(salary > 3000)
);

-- mysql 分页(重要)
-- 公式:(当前页数-1)*每页条数,每页条数
SELECT employee_id, last_name, salary
FROM employees
ORDER BY salary DESC
LIMIT 20, 10;

以上是关于mysql复习2的主要内容,如果未能解决你的问题,请参考以下文章

mysql复习-数据操作

mysql复习基础2

复习&mysql

mysql复习

mysql index 复习笔记

MYSQL复习总结