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复习 一:复习前的准备 1:确认你已安装wamp 2:确认你已安装ecshop,并且ecshop的数据库名为shop 二 基础知识: 1.数据库的连接 mysql -u -p -h -u 用 ...
- mysql复习-来源考试
mysql复习- No1 .登录和权限 (一)常用命令1.登录mysqlmysql -h localhost -u root -p 2.重启mysqlservice mysql restart 延 ...
- MySQL复习值代码知识点(1)
MySQL复习值代码知识点 一. 创建数据库 create database 数据库名: 二. 删除数据库 drop database 数据库名: 三. 选择相应的数据库 use 数据库名: 四. 创 ...
- mysql复习相关
Mysql相关 mysql增删改查 我们需要修改数据表名或者修改数据表字段时,就需要使用到Mysql Alter命令 删除,添加或修改表字段 alter table student drop regi ...
- 一天一点MySQL复习——获取数据库系统时间、变量赋值、变量比较
一.SQL获取系统时间 mysql> select now() from dual; +---------------------+ | now() | +------------------- ...
- Mysql 复习
1.my.ini :mysql 配置文件 [client]#password = your_passwordport = 3306socket = /tmp/mysq ...
- mysql 复习与学习(二)数据库及表结构的创建删除
mysql -h localhost -uroot -p123456 //连接数据库 show databases; //查看数据库 create database if not exists db_ ...
- mysql复习
1.数据库操作 CREATE DATABASE 数据库名 charset utf8; 查看数据库 show databases; show create database db1; select da ...
- Mysql复习大全(转)
基础知识: 1.数据库的连接 mysql -u -p -h -u 用户名 -p 密码 -h host主机 2.库级知识 显示数据库: show databases; 选择数据库: use dbname ...
- mysql复习之一
DROP DATABASE mysql_shiyan;. cd /home/shiyanlou/Desktop git clone https://github.com/shiyanlou/SQL4 ...
随机推荐
- el-tree文本内容过多显示不完全问题(解决)
布局: <span class="custom-tree-node" slot-scope="{ node, data }"> 外层span 树节点 ...
- 【t066】致命的珠宝
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 门上有着N个宝珠,每个宝珠都有一个数字.Mini询问老者后,得知要想打开这扇门,就得找出两颗珠宝,使这 ...
- jQuery 工具类函数-字符串操作函数
调用名为$.trim的工具函数,能删除字符串中左右两边的空格符,但该函数不能删除字符串中间的空格,调用格式为: $.trim (str); 参数str表示需要删除左右两边空格符的字符串. <bo ...
- Linux 内核bin+attribute 结构二进制属性
sysfs 惯例调用所有属性来包含一个单个的人可读文本格式的值. 就是说, 只是偶然地很 少需要来创建能够处理大量二进制数据的属性. 这个需要真正地只出现在必须传递数据, 不可动地, 在用户空间和设备 ...
- ZR提高失恋测2(9.7)
ZR提高失恋测2(9.7) 网址http://www.zhengruioi.com/contest/392 版权原因,不放题面 A 首先,我们发现对于匹配串\(s\)中所有满足\(s_i \not = ...
- Vue的数据双向绑定和Object.defineProperty()
Vue是前端三大框架之一,也被很多人指责抄袭,说他的两个核心功能,一个数据双向绑定,一个组件化分别抄袭angular的数据双向绑定和react的组件化思想,咱们今天就不谈这种大是大非,当然我也没到达那 ...
- Vue____实现本地代码推送到云端仓库的相关操作
项目初始化搭建完毕,每进行一个功能模块开发的必备操作,目的是方便协同开发以及备份代码 一.每开发一个新功能,都应该创建一个新分枝,待该功能模块开发完成以后,再合并到主分支master中,具体步骤如下: ...
- b方式操作文件
f=open('test11.py','rb',encoding='utf-8') #b的方式不能指定编码 f=open('test11.py','rb') #b的方式不能指定编码 data=f.re ...
- springMvc web项目中restful风格的api路径中有小数点会被过滤后台拿不到最后一个小数点的问题
有两种解决方案: 1:在api路径中加入:.+ @RequestMapping("/findByIp/{ip:.+}") public Object test(@PathVaria ...
- Spring Boot 定时+多线程执行
Spring Boot 定时任务有多种实现方式,我在一个微型项目中通过注解方式执行定时任务. 具体执行的任务,通过多线程方式执行,单线程执行需要1小时的任务,多线程下5分钟就完成了. 执行效率提升10 ...