随笔分类 - MySQL
摘要:Savepoint 保存点;设置保存点 SET autocommit = 0; START TRANSACTION; DELETE FROM account WHERE id = 25; SAVEPOINT a;#设置保存点 DELETE FROM account WHERE id = 28; RO
阅读全文
摘要:对于同时运行的多个事务,当这些事务访问数据库中相同的数据时,如果没有采取必要的隔离机制,就会导致各种并发问题: 详细: · 脏读:对于两个事务T1,T2,T1读取了已经被T2更新但还没有提交的字段之后,若T2回滚,T1读取的内容就是临时且无效的 · 不可重复读:对于两个事务T1,T2,T1读取了以恶
阅读全文
摘要:事务的创建 隐式事务 事务没有明显的开启和结束的标记 如:insert、update、delete语句 显示事务 事务具有明显的开启和结束标记 前提:必须先设置自动提交功能为禁用 步骤: 1 开启事务 set autocommit = 0; start transaction;可选的 2 编写事务中
阅读全文
摘要:事务控制语言 事务:一个或一组sql语句组成一个执行单元,这个执行单元 要么全部执行,要么全部不执行 (事务是由单独单元的一个或多个SQL语句组成,在这个单元中,每个MySQL语句是相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元中某条SQL语句一旦执行失败或产生错误,整个单元将会回滚。所
阅读全文
摘要:又称为 自增长列 含义 可以不用手动的插入值,系统提供默认的序列值 特点 1 标识列必须和主键搭配吗?不一定,但要求是一个key 2 一个表可以有几个标识列?最多一个 3 标识列的类型。只能是数值型 4 标识列可以通过SET auto_increment_increment = 3; 设置步长 也可
阅读全文
摘要:位置 支持的约束类型 是否可以起约束名 列级约束 列的后面 语法都支持,但外键没有效果 不可以 表级约束 所有列的下面 默认和非空不支持,其他支持 可以(主键没有效果)
阅读全文
摘要:#1 删除非空约束 ALTER TABLE stuinfo MODIFY COLUMN stuname VARCHAR(20) NULL; #2 删除默认约束 ALTER TABLE stuinfo MODIFY COLUMN age INT; #3 删除主键 ALTER TABLE stuinfo
阅读全文
摘要:1 添加列级约束 ALTER TABLE 表名 MODIFY COLUMN 字段名 字段类型 新约束; 2 添加表级约束 ALTER TABLE 表名 ADD 【constraint 约束名】 约束类型(字段名) 外键的引用; 1添加非空约束 ALTER TABLE stuinfo MODIFY C
阅读全文
摘要:1 要求在从表设置外键关系 2 从表的外键类型和主表的关联列的类型要求一致或兼容,名称无要求 3 主表的关联列必须是一个key(一般是主键或唯一) 4 插入数据时,先插入主表,再插入从表 删除数据时,先删除从表,再删除主表
阅读全文
摘要:1 保证唯一性 2 是否允许为空 3 一个表中可以有多少个 4 是否允许组合 保证唯一性 是否允许为空 一个表中可以有多少个 是否允许组合 主键 √ × 最多一个 √不推荐 唯一 √ √ 可以有多个 √不推荐
阅读全文
摘要:一 创建表时添加约束 1 添加列级约束 语法: 直接在字段名和类型后面 追加 约束类型 即可 只支持:默认、非空、主键、唯一 USE students; CREATE TABLE stuinfo( id INT PRIMARY KEY,#主键 stuNmae VARCHAR(20) NOT NULL
阅读全文
摘要:常见约束 含义 一种限制,用于限制表中的数据 为了保证表中的数据的准确和可靠性 分类 Not null:非空约束 用于保证该字段的值不能为空 如:姓名、学号等 Default:默认约束 用于保证该字段有默认值 如:性别 Primary key:主键约束 用于保证该字段的值具有唯一性 且非空 如:学号
阅读全文
摘要:一 数值型 1 整型 Tinyint、smallint、mediumint、int / integer、bigint (根据所占的字节的大小越来越大1、2、3、4、8) 特点 ① 都可以设置无符号和有符号,默认有符号,通过unsigned设置无符号 ② 如果超出了范围,会报out or range一
阅读全文
摘要:一 创建库 Create database 【if exists】 库名 【character set 字符集名】; 二 修改库 – 认为不可以修改 Alter database 库名 character set 字符集名; 三 删除库 Drop database 【if exists】 库名 ⭐一
阅读全文
摘要:插入 一、方式一 语法 Insert into 表名(字段名,…) Value(值,…); 特点 1 要求 值的类型 和 字段的类型 要一致或兼容 2 字段的个数和顺序 不一定 与 原始表中的字段的个数和顺序一致,但必须保证之和字段一一对应 3 加入表中有可以为null的字段,注意可以通过以下两种方
阅读全文
摘要:语法: 7 Select 查询列表 1 From 表1 别名 2 连接类型join 表2 3 On 连接条件 4 Where 筛选 5 Group by 分组列表 6 Having 筛选 8 Order by排序列表 9 Limit 其实条目索引,条目数;
阅读全文
摘要:分类 Date:只保存日期 Time:只保存时间 Year:只保存年 Datetime:保存日期 + 时间 Timestamp:保存日期 + 时间 特点 字节 范围 时区等的影响 datetime 8 1000~9999 不受 timestamp 4 1970~2038 受 日期和时间类型 字节 最
阅读全文
摘要:较短文本 char varchar 字符串类型 最多字符数 描述及存储需求 char(M) M M:0~255之间的整数 varchar(M) M M:0~65535之间的整数 区别 写法 M的含义 特点 空间的消耗 char char(M) 最大的字符数, 可以省略,默认为1 固定长度的字符 比较
阅读全文
摘要:浮点型 字节 范围 float 4 不记 double 8 不记 定点型 字节 范围 DEC(M,D) DECIMAL(M,D) M+2 最大取值范围与double相同, 给定decimal的有效取值范围由M和D决定 特点 ① ⭐M、d M:整数位数 + 小数位数 D:小数部位 – 如果超过范围,则
阅读全文
摘要:数据类型 字节 范围 Tinyint 1 有符号:-128~127 无符号:0~255 Smallint 2 有符号:-32768~32767 无符号:0~65535 Mediumint 3 有符号: 无符号: (不用记) Int、integer 4 有符号: 无符号: (不用记) Bigint 8
阅读全文