插入
INSERT 语句语法
从其它表中拷贝数据
• 不必书写 VALUES 子句.
• 子查询中的值列表应与 INSERT 子句中的列名对应
update 语句
• 可以一次更新多条数据.
• 如果需要回滚数据, 需要保证在 DML 前, 进行 设置:
SET AUTOCOMMIT = FALSE;
因为 MySQL 中默认事务是自动提交的.
delete 语句
子查询
概念
出现在其他语句内部的 select 语句, 称为子查询或内查询内部嵌套其他 select 语句的查询, 称为外查询或主查询.
- select first_name from employees where
- department_id in(
- select department_id from departments
- where location_id=1700
- )
创建数据库
创建一个保存员工信息的数据库 :
create database employees;
相关其他命令
create database employees if not exists;
show databases; 查看当前所有数据库
use employees;"使用" 一个数据库, 使其作为当前数据库
创建表
• 必须具备:
- CREATE TABLE 权限
- 存储空间
• 必须指定:
- 表名
- 列名, 数据类型, 尺寸
语法
注: 创建表这种更加合理
create table if not exists tableName...
数据类型
概述
MySQL 数据类型分为
数值类型
字符类型
日期类型
数值类型
整型
小数
位类型
字符类型
char 和 varchar 类型
binary 和 varbinary 类型
说明: 类似于 char 和 varchar, 不同的是它们包含二进制字符串而不包含非二 进制字符串.
Enum 类型
说明: 又称为枚举类型哦, 要求插入的值必须属于列表中指定的值之一.
Set 类型
说明: 和 Enum 类型类似, 里面可以保存 0~64 个成员. 和 Enum 类型最大的区 别是: SET 类型一次可以选取多个成员, 而 Enum 只能选一个 根据成员个数不同, 存储所占的字节也不同
日期类型
常用数据类型
创建表示例
ALTER TABLE 语句
向已有的表中添加列
修改现有表中的列
删除现有表中的列
重命名现有表中的列
增加一个列
ALTER TABLE dept80 ADD job_id varchar(15);
修改一个列
• 可以修改列的数据类型, 尺寸和默认值
• 对默认值的修改只影响今后对表的修改
删除一个列
重命名一个列
总结: alter table 表名 add|drop|modify|change column 列名 [列类型 约束]
删除表
数据和结构都被删除
所有正在运行的相关事务被提交
所有相关索引被删除
DROP TABLE 语句不能回滚
注: 删除用下面这种相对更为合理
drop table if exists tableName;
清空表
• TRUNCATE TABLE 语句:
- 删除表中所有的数据
- 释放表的存储空间
- TRUNCATE 语句不能回滚
约束
什么是约束
• 为了保证数据的一致性和完整性, SQL 规范以约 束的方式对表数据进行额外的条件限制.
• 约束是表级的强制规定
• 可以在创建表时规定约束 (通过 CREATE TABLE 语句), 或者在表创建之后也可以 (通 过 ALTER TABLE 语句)
类型
- NOT NULL 非空约束, 规定某个字段不能为空
- UNIQUE 唯一约束, 规定某个字段在整个表中是唯一的
- PRIMARY KEY 主键 (非空且唯一)
- FOREIGN KEY 外键
- CHECK 检查约束 (MySQL 不支持)
- DEFAULT 默认值
NOT NULL 约束
保证列值不能为空.
创建 not null 约束:
增加 not null 约束:
取消 not null 约束:
取消 not null 约束, 增加默认值:
UNIQUE 约束
同一个表可以有多个唯一约束, 多个列组合的约束. 在创建唯一约束的时候, 如果不给唯一约束名称, 就 默认和列名相同. MySQL 会给唯一约束的列上默认创建一个唯一索引.
添加唯一约束
删除约束
PRIMARY KEY 约束
主键约束相当于唯一约束 + 非空约束的组合, 主 键约束列不允许重复, 也不允许出现空值
如果是多列组合的主键约束, 那么这些列都不允 许为空值, 并且组合的值不允许重复.
每个表最多只允许一个主键, 建立主键约束可以 在列级别创建, 也可以在表级别上创建.
MySQL 的主键名总是 PRIMARY, 当创建主键约束 时, 系统默认会在所在的列和列组合上建立对应的 唯一索引.
删除主键约束
添加主键约束
修改主键约束
FOREIGN KEY 约束
外键约束是保证一个或两个表之间的参照完整性, 外键是构建于一个表的两个字段或是两个表的两个字 段之间的参照关系.
从表的外键值必须在主表中能找到或者为空. 当主 表的记录被从表参照时, 主表的记录将不允许删除, 如果要删除数据, 需要先删除从表中依赖该记录的数 据, 然后才可以删除主表的数据.
还有一种就是级联删除子表数据.
注意: 外键约束的参照列, 在主表中引用的只能是 主键或唯一键约束的列
同一个表可以有多个外键约束
创建外键约束:
创建多列外键组合, 必须使用表级约束:
删除外键约束:
增加外键约束:
分页
分页原理
所谓分页显示, 就是将数据库中的结果集, 一段一段显示 出来需要的条件
前 10 条记录:
SELECT * FROM table LIMIT 0,10;
第 11 至 20 条记录:
SELECT * FROM table LIMIT 10,10;
公式:
(当前页数 - 1)* 每页条数, 每页条数
SELECT * FROM table LIMIT(PageNo - 1)*PageSize,PageSize;
注: limit 子句必须放在整个查询语句的最后!
来源: http://www.bubuko.com/infodetail-3098849.html