1.创建表时指定AUTO_INCREMENT自增值的初始值(即起始值): CREATE TABLE XXX (ID INT(5) PRIMARY KEY AUTO_INCREMENT) AUTO_INCREMENT=100; 2.通过 ALTER TABLE 修改初始值(但是要大于表中的 AUTO_INCREMENT 自增值,否则设置无效): ALTER TABLE XXX AUTO_INCREMENT=100; 3.如果自增序列的最大值被删除了,则在插入新记录时,该值被重用: 就是说如果表中原…
简介 此笔记只包含<MySQL必知必会>中部分章节的整理笔记.这部分章节主要是一些在<SQL必知必会>中并未讲解的独属于 MySQL 数据库的一些特性,如正则表达式.全文本搜索.MySQL 中的数据类型等. 此笔记可以看作是对<MySQL必知必会>中包含而<SQL必知必会>中不包含的内容的一个补充. 目录 此笔记的所有内容都在下面的链接中: 文档:<MySQL必知必会>…
我:本次继上次的Model继续延伸一下数据表之间的一对一映射关系 访客:有什么用? 我:众所周知,一张数据表的字段太多会显得冗余.杂乱,那么就需要将一张表进行拆分成多个表,这样不会太杂乱,也比较好维护 举例:每个人都有一张身份证,有且唯一一张,这里就存在一个   一对一的关系 一.Model建立 #一对一的模型实例: class Person(models.Model): p_name=models.CharField(max_length=16) p_sex=models.BooleanFie…
一.触发器 1.触发器在数据库里以独立的对象存储, 2.触发器不需要调用,它由一个事件来触发运行 3.触发器不能接收参数 --触发器的应用 举个例子:校内网.开心网.facebook,当你发一个日志,自动通知好友,其实就是在增加日志的时候做一个出发,再向表中写入条目. --触发器的效率很高 举例:论坛的发帖,每插入一个帖子都希望将版面表中的最后发帖时间,帖子总数字段进行同步更新,这时使用触发器效率会很高. 二.Oracle 使用 PL/SQL 编写触发器 1.--PL/SQL创建触发器的一般语法…
查询语句 首先, 准备数据, 地址是: https://github.com/cystanford/sql_heros_data, 除了id以外, 24个字段的含义如下: 查询 查询分为单列查询, 多列查询, 全部查询等等: SELECT name FROM heros; // 单列查询 SELECT name, hp_max, mp_max, attack_max, defense_max FROM heros; // 多列查询 SELECT * FROM heros; // 全部查询 学习阶…
附录B 样例表 本附录简要描述本书中所用的表及它们的用途. 编写SQL语句需要对基础数据库的设计有良好的理解.不知道什么信息存储在什么表中,表之间如何关联以及行内数据如何分解,是不可能编写出高效的SQL的. 建议你实际试验本书中没涨的每个例子.各章都使用相同的一组数据文件.为帮助你了解这些例子和掌握各章介绍的内容,本附录描述了所用的表.表之间的关系以及如何获得它们. B.1 样例表 本书中使用的样例表为一个想象的随身物品推销商使用的订单录入系统,这些随身物品可能是你喜欢的卡通人物需要的(是的,卡…
第1章 了解SQL 本章将介绍数据库和SQL,它们是学习MySQL的先决条件. 1.1 数据库基础 你正在阅读本书,这表明你需要以某种方式与数据库打交道.在深入学习MySQL及其SQL语言的实现之前,应该对数据库几数据库技术的某些基本概念有所了解. 你可能还没有意识到,其实你自己一直在使用数据库.每当你从自己的电子邮件地址簿里查找名字时,你就在使用数据库.如果你在某个因特网搜索站点上进行搜索,也是在使用数据库.如果你在工作中登录网络,也需要依靠数据库验证自己的名字和密码.即使在自动取款机上使用A…
数据库:数据库是一种以某种有组织的方式存储的数据集合.其本质就是一个容器,通常是一个或者一组文件. 表:表示一种结构化的文件,可用来存储某种特定类型的数据. 模式:描述数据库中特定的表以及整个数据库和其中表的关系.表具有一些特性,这些特性定义了数据在表中如何存储,可以存储什么样的数据,数据如何分解,各个部分信息如何命名等信息. 列:表中的一个字段,所有表都是有一个或多个列组成的. 行:行是表中的一个独立的记录,它包含了所有列的信息. 数据类型:数据类型限制可以存储在类型红的数据种类,还可以帮助正…
#选择数据库 USE mysql #返回可用数据库列表 SHOW DATABASES #返回当前数据库中可用表 SHOW TABLES #返回表列 SHOW COLUMNS FROM db #显示特定数据库的创建语句 SHOW CREATE DATABASE mysql #显示广泛的服务器状态信息 SHOW STATUS #显示授权用户的安全权限 SHOW GRANTS 多条SQL语句必须以分号分隔. SQL语句不区分大小写,习惯性大写. 检索不同的行用DISTINCT,只返回不同的值. 限制结…
1.基础架构:一条sql查询语句是如何执行的? mysql> select * from T where ID=10: 2.基础架构:一条sql更新语句是如何执行的? mysql> update T set c=c+1 where ID=2; redo log (1)存储引擎的日志,InnoDB特有的: (2)物理日志 (3)循环写,空间固定会用完: binlog (1)server端日志,所有引擎都有: (2)逻辑日志 (3)追加写,文件写到一定大小,切换下一个,并不会覆盖之前的日志: re…