; 这里 Key为MUL主要是因为这两个字段有外键约束,约束其与另一个表的对应字段要对应; 查看某个表的某一列的结构 mysql> describe score id; +-------+----...在SQL中,修改表中某一列的数据类型是一个重要的操作,因为数据类型决定了该列可以存储的数据种类和范围。...MUL:非唯一索引,该索引包括多个重复的键值时,Key属性值就会显示为mul。 UNI: 表示该列是唯一键。唯一键也可以用于唯一标识表中的每一行数据,但是它允许NULL值。一个表可以有多个唯一键。...``(空): 表示该列既不是主键,也不是唯一键。...,表示它是主键;email列的Key为UNI,表示它是唯一键;其他列的Key为""(空),表示它们既不是主键,也不是唯一键。
INTEGER 4 字节 (-2147483648,2147483647) (0,4294967295) BIGINT 8 字节 (-2^63^, 2^63^ - 1) (0,2^64^) 长度 int(n) 与...以下为创建MySQL数据表的SQL通用语法: CREATE TABLE table_name ( column1 datatype [NULL|NOT NULL] [DEFAULT ],...查看数据表的建表SQL语句 SHOW CREATE TABLE 用于查看指定数据表的建表SQL语句 语法: SHOW CREATE TABLE table_name 查看 user 表的建表语句 mysql...| | email | varchar(255) | YES | UNI | NULL | | | password | varchar...语法: EXPLAIN table_name DESCRIBE 和 EXPLAIN 语句是同义词,实际上在平时使用过程中 DESCRIBE 多用于获取表结构的信息,而 EXPLAIN 多用于获取SQL语句的执行计划
历史, schema.version, 当 前sql版本。...64 PRI PROC_INST_ID_ 流程实例ID NULL NO varchar 64 UNI BUSINESS_KEY_ 业务标识 NULL YES varchar 255 MUL 业务主键...64 PRI PROC_DEF_ID_ 流程定义ID NULL NO varchar 64 UNI(ACT_RE_PROCDEF) REV_ 版本号 NULL YES int NULL version...64 PRI PROC_INST_ID_ 流程实例ID NULL NO varchar 64 UNI BUSINESS_KEY_ 业务标识 NULL YES varchar 255 MUL 业务主键...64 PRI PROC_DEF_ID_ 流程定义ID NULL NO varchar 64 UNI(ACT_RE_PROCDEF) REV_ 版本号 NULL YES int NULL version
PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在列中某个给定值允许出现多次。 Default:表示该列是否有默认值,如果有,那么值是多少。...Extra:表示可以获取的与给定列有关的附加信息,例如AUTO_INCREMENT等。...使用SHOW COLUMNS命令 SHOW COLUMNS命令与DESCRIBE命令非常相似,也用于显示表的列信息。...使用SHOW CREATE TABLE命令 虽然SHOW CREATE TABLE命令主要用于显示创建表的SQL语句,但它也间接地展示了表的结构,包括所有的列定义、索引、外键等。...SHOW CREATE TABLE 表名; 这个命令会返回创建该表的完整SQL语句,包括所有的列定义、索引、外键约束等。这对于理解表的完整结构或复制表结构到其他数据库非常有用。
大小:在.ibd文件中最重要的结构体就是Page(页),页是内存与磁盘交互的最小单元,默认情况下,InnoDB的页的大小为16KB,即使页中没有数据也会使用16KB的存储空间,同时与索引的B+树中的节点对应...每次内存与磁盘的交互至少读取一页,所以在磁盘中每个页内部的地址都是连续的。...| | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.00 sec) 唯一索引标识:UNI...如果表没有主键,InnoDB会选择第一个非空的唯一索引(UNIQUE NOT NULL)作为聚簇索引的键。...如果没有主键也没有合适的唯一索引:InnoDB会自动生成一个隐藏的6字节的ROW_ID字段记录,ROW_ID单调递增作为聚簇索引的键。 按主键查询时,直接获取数据,效率极高。
如果真的相同,请在SQL语句中使用一对``(着重号)引起来。...Extra | +----------------+-------------+------+-----+---------+-------+ | employee_id | int(6) | NO | PRI...varchar(20) | YES | | NULL | | | last_name | varchar(25) | NO | | NULL | | | email | varchar(25) | NO | UNI...PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在列中某个给定值允许出现多次。 Default:表示该列是否有默认值,如果有,那么值是多少。...Extra:表示可以获取的与给定列有关的附加信息,例如AUTO_INCREMENT等。
SQL(Structured Query Language,结构化查询语言)是使用关系模型的数据库应用语言, 与数据直接打交道 ,由 IBM 上世纪 70 年代开发出来。...SQL 语言的规则与规范 # 2.1 基本规则 SQL 可以写在一行或者多行。...-------------+-------------+------+-----+---------+-------+ | employee_id | int(6) | NO | PRI...PRI 表示该列是表主键的一部分;UNI 表示该列是 UNIQUE 索引的一部分;MUL 表示在列中某个给定值允许出现多次。 Default:表示该列是否有默认值,如果有,那么值是多少。...Extra:表示可以获取的与给定列有关的附加信息,例如 AUTO_INCREMENT 等。 # 5.
摘要 本文主要分为两个方面,第一部分介绍MySQL数据库规范及其背景知识,包括数据库命名规范、字段的命名规范、数据类型以及索引和键等内容,希望帮助读者遵循MySQL数据库规范,提高数据库的质量。...SQL(Structured Query Language,结构化查询语言)是使用关系模型的数据库应用语言, 与数据直接打交道 ,由 IBM上世纪70年代开发出来。...SQL语言的规则与规范 QL 可以写在一行或者多行。...PRI表示该列是表主键的一部分;UNI表示该列是 UNIQUE索引的一部分;MUL表示在列中某个给定值允许出现多次。 Default:表示该列是否有默认值,如果有,那么值是多少。...Extra:表示可以获取的与给定列有关的附加信息,例如AUTO_INCREMENT等。
mongoDB是最接近与关系型数据库的开源NoSQL数据库,几乎绝大多数常用的命令或语句在SQL中都可以找到相应的对应或映射。...一、逻辑对象术语 SQL Terms/Concepts MongoDB Terms/Concepts -------------------...Database Client mongo mysql sqlplus DB-Access DB2 Client 三、表级别对照 SQL...) //由于集合无模式,可以直接通过update $set修改器来增加键...---------------------- DELETE FROM users db.users.remove({}) 八、mongoDB与MySQL
这里显示用来继续其值的表达式,否则为空 接下来对上面的一些栏位做进一步的介绍 1.1 COLUMN_KEY 该列显示列是否被索引,其有如下可能值 空 代表没有被索引,或者是一个多列的非唯一的索引的次要列 PRI...代表是主键,或者是一个多列主键的其中一个栏位 UNI 代表是一个唯一索引的第一个列,一个唯一索引是可以有多个空值的 MUL 代表该列是一个非唯一索引的第一个列 如果一个栏位在多个索引中,COLUMN_KEY...只会显示其中优先级最高的一个,顺序为PRI, UNI, MUL 如果表中无主键,如果一个唯一索引不可以包含空值(定义非空),该列其可能会被显示为PRI 一个复合索引如果是唯一的,该列也有可能会被显示为MUL
SQL语言特点 SQL语言基本上独立于数据库本身 各种不同的数据库对SQL语言的支持与标准存在着细微的不同 每条命令以 ; 结尾 SQL命令(除了数据库名和表名)关键字和字符串可以不区分字母大小写...(UNI):字段值不允许重复,但可为 NULL,KEY标志为 UNI 主键索引(PRI):一个表中只能有一个主键字段, 主键字段不允许重复,且不能为NULL,KEY标志为PRI。...、UNI。...✨创建外键 [CONSTRAINT 外键名称] FOREIGN KEY 从表外键 REFERENCES 主表名(主表主键) -- 从表的外键字段数据类型与指定的主表主键应该相同。...✨解除外键约束 通过外键名称解除外键约束 alter table 表名 drop foreign key 外链名; drop index 索引名 on 表名 注意:删除外键后发现desc查看 MUL
SQL 语言的规则与规范SQL 可以写在一行或多行。为了提高可读性,各子句分行写,必要时使用缩进,每条命令以 ; 或 \g 或 \G 结束。关键字不能被缩写也不能分行。...SQL 中的 SELECT 语法的确提供了这个功能,一般来说我们只从一个表中查询数据,通常不需要增加一个固定的常数列,但如果我们想整合不同的数据源,用常数列作为这个表的标记,就需要查询常数。...Key:编制索引情况,PRI 表示主键,UNI 表示唯一索引,MUL 表示允许多次出现。Default:默认值。Extra:附加信息,如 AUTO_INCREMENT。
在pandas的官方文档中对常用的SQL查询语句与pandas的查询语句进行了对比,这里以 @猴子 社群里面的朝阳医院数据为例进行演示,顺便求第四关门票,整体数据结构如下: import pandas...SELECT 从中选择“商品名称”,“销售数量”两列 SQL: SELECT "商品名称","销售数量" FROM cyyy LIMIT 5 PANDAS: df[['商品名称','销售数量']].head...WHERE 从中筛选出销售数量为3件的销售记录 SQL: SELECT * FROM cyyy WHERE "销售数量" = 3 LIMIT 5 PANDAS: df[df['销售数量']==3].head...GROUP BY 在Pandas中可以使用groupby()函数实现类似于SQL中的GROUP BY功能,groupby()能将数据集按某一条件分为多个组,然后对其进行某种函数运算(通常是聚合运算)。...8 D厄贝沙坦氢氯噻嗪片(倍悦) 1 D替格瑞洛片 1 D盐酸贝尼地平片 3 dtype: int64 这里也可以使用count(),与size
数据库中的索引与书籍中的目录类似 在一本书中,无须阅读整本书,利用目录就可以快速査找所需信息 书中的目录是一个词语列表,其中注明了包含各个词的页码 数据库索引 在数据库中,索引使数据库程序无须对整个表进行扫描...主键key描述字段含义 PRI主键约束; UNI唯一约束; MUL可以重复。...什么是候选键? 主表中的外键是另一张表的主键。 候选键:除了主键以外的都是候选键。 要想能快速查找某一条你想要的数据,必须要要创建主键(一般在开始创建表的时候就会设置)。 ?...| Extra | +---------+-------------+------+-----+---------+-------+ | id | char(3) | NO | PRI...| NULL | | | name | char(10) | NO | MUL | NULL | | | score | int(3)
毕竟学习的主线是MySQL,所以会从MySQL的角度来对比Oracle的一些功能。...| | auto_incremen | char | char(50) | utf8_general_ci | NO | MUL | |...| varchar | varchar(50) | utf8_general_ci | NO | MUL | | | text | text...| utf8_general_ci | NO | MUL | | +---------+-------------+-----------------+------+-----+--...| NO | PRI | | Column_name | char(64) | NO | PRI | | Timestamp
| | table_id | int(10) unsigned | YES | MUL | NULL | | | name | varchar...| NULL | auto_increment | | schema_id | int(10) unsigned | YES | MUL | NULL |...| YES | | NULL | | | position_sha | char(40) | YES | UNI...| NULL | auto_increment | | schema_id | int(10) unsigned | YES | MUL | NULL |...| | database_id | int(10) unsigned | YES | MUL | NULL | | | name | varchar(
float, -> primary key(id) -> );Query OK, 0 rows affected (0.01 sec)定义多字段主键实例: 定义数据表tab_3,将name字段与deptid...◆外键用来在两个表的数据之间建立链接,它可以是一列或者多列.一个表可以有一个或多个外键,外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值.外键:首先它是表中的一个字段...| || name | varchar(25) | YES | | NULL | || deptid | int(10) | YES | MUL...| || name | varchar(25) | YES | | NULL | || deptid | int(10) | YES | MUL...| NULL | | #外键标识MUL| salary | float | YES | | NULL | |+--------+-----
了,我们来看看Statement与PreparedStatement的区别。...最后先使用sql语句插入六个测试记录。...);,值得注意的是,上面的sql是已经拼接好,写固定了的sql,所以很容易被注入,比如这句: sql = "select * from user where name= '" + name + "' and...这样就避免了sql注入的问题,同时,由于sql已经编译过缓存在数据库中,所以执行起来不用再编译,速度就会比较快。...百度文库里面提到:传递给PreparedStatement对象的参数可以被强制进行类型转换,使开发人员可以确保在插入或查询数据时与底层的数据库格式匹配。
SQL6 删除记录(一) 描述 现有一张试卷作答记录表exam_record,其中包含多年来的用户作答试卷记录,结构如下表: 作答记录表exam_record: start_time是试卷开始时间 submit_time...DELETE FROM exam_record WHERE score < 60 AND TIMESTAMPDIFF(MINUTE, start_time, submit_time) < 5; SQL7...TIMESTAMPDIFF(MINUTE, start_time, submit_time) < 5 OR submit_time IS NULL ORDER BY start_time LIMIT 3; SQL8...Filed Type Null Key Default Extra Comment id int(11) NO PRI auto_increment 自增ID uid int(11) NO UNI...EXISTS] [数据表名] -- 不存在才创建,存在就跳过 (列名 [列类型] -- 列名和类型必选 [ PRIMARY KEY -- 可选的约束,主键 | FOREIGN KEY -- 外键,
Key 作为唯一的标识符,优点是查找速度快,在这方面明显优于关系型数据库,缺点是无法像关系型数据库一样使用条件过滤(比如 WHERE),如果你不知道去哪里找数据,就要遍历所有的键,这就会消耗大量的计算。...SQL(Structured Query Language,结构化查询语言)是使用关系模型的数据库应用语言, 与数据直接打交道 ,由 IBM 上世纪70年代开发出来。...SQL语言的规则与规范 SQL 可以写在一行或者多行。...PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在列中某个给定值允许出现多次。 Default:表示该列是否有默认值,如果有,那么值是多少。...Extra:表示可以获取的与给定列有关的附加信息,例如AUTO_INCREMENT等。