首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SQL笔记(1)——MySQL创建数据库

:教师ID,类型为 INT,不允许,是外列,参考了教师表 ID 列; credit:课程学分,类型为 DOUBLE,不允许。...:学生ID,类型为 INT,不允许,是外列,参考了学生表 ID 列; course_id:课程ID,类型为 INT,不允许,是外列,参考了课程表 ID 列; score:学生得分,类型为...总结一下,这条 SQL 语句作用是 course 表 teacher_id 列设置为外列,参照 teacher 表 id 列。...因为外约束作用是确保参考表某一列必须存在于当前表某一列,所以参考表该列必须设置为唯一且非。...唯一约束:可以确保表某一列是唯一可避免特定列出现。 非约束:可以确保表某一列不为。 检查约束:可以定义额外规则来确保某一列或多个列数据符合规定。

3K20

一个小时学会MySQL数据库

这里班级编号就是外,可以,但不为时他一定在要引用表存在。如果学生表编号是主键这里就不应该重复,外则可以重复允许。 添加外: 班级表: ? 学生表: ? 添加外: ?...) 4.5.5、唯一 唯一称(唯一约束),和主键区别是可以为有多个唯一并且可以为NULL,但NULL不能重复,也就是说只能有一行为NULL。...对于小数点后面的位数超过允许范围,MySQL 会自动将它四舍五入为最接近,再插入。   ...而 VARCHAR 类型把视为最大并且只使用存储字符串实际需要长度(增加一个额外字节来存储字符串本身长度)来存储。...MySQL 还对日期年份两个数字,或是 SQL 语句中为 TEAR 类型输入两个数字进行最大限度通译。因为所有 TEAR 类型必须用 4 个数字存储。

3.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

SQL笔记(2)——MySQL表操作与索引

每个表最多只能有一个主键,主键限制表数据不能重复,并且不能为NULL。 MUL:非唯一索引,该索引包括多个重复键值时,Key属性就会显示为mul。 UNI: 表示该列是唯一。...唯一可以用于唯一标识表每一行数据,但是允许NULL。一个表可以有多个唯一。 FULLTEXT: 表示该列是全文索引。全文索引用于优化全文搜索,例如对文章标题和正文进行关键字搜索。...``(): 表示该列既不是主键,不是唯一。...Key为""(),表示它们既不是主键,不是唯一。...主键索引:索引列必须是唯一,不允许有空。 普通索引:MySQL基本索引类型,没有什么限制,允许在定义索引插入重复。 唯一索引:索引列必须是唯一,但是允许

1.6K20

大战SQL列类型及其列属性

之后意识,在人际关系,人们应当把各自相处原则说得极为清楚,这至关重要。 想,很多时候大家都会碰到这样或那样不被小伙伴理解事情,那么事实上会不会是我们自己没和小伙伴说明清楚呢?...集合强大在于能够规范数据和节省空间:谈到数据规范,PHP可以规范数据,对于PHP来说其效率优先,而数据维护可以通过数字进行,从而会导致PHP维护成本增加:PHP根本没有办法判断数据在数据库形式...实际上是不行,因为MySQL记录:如果任何一个字段允许,那么系统会自动从整个记录中保留一个字节来存储NULL,若想释放NULL所占用字节:必须保证所有的字段都不允许。...属性 两个:NULL(默认)和NOT NULL(不为) 数据是默认,且数据库基本都是字段为;但是实际上在开发时候,是需要尽可能保证所有的数据都不应该为:因为数据无意义,也没有办法参与运算...create table my_class( name varchar(20) not null, room varchar(20) null -- 允许;不写默认允许 )charset utf8

1.3K30

MySQL DDL 数据定义

is null 表示该字段是否允许,不为为 NOT NULL,不指明默认为 NULL。 key 表示该字段是否是主键、外、唯一还是索引。...设置主键时可以 PRIMARY KEY 放在字段后面来修饰,可以另起一行单独来指定主键。...NOT NULL 表示字段不允许,不指明,默认允许为 NULL,可以显示指明 NULL,表示允许。...TEMPORARY表只在当前会话可见,并且在会话关闭时自动删除。这意味着两个不同会话可以使用相同临时表名,而不会相互冲突,不会与已有的同名非临时表冲突。(现有表被隐藏,直到临时表被删除。)...(4)truncate 导致自动增加字段初始被重置,delete 没有影响,自增字段还是按照最后一次插入基础上递增。

17420

一个小时学会MySQL数据库

计算机上没有专用管理数据软件,数据由计算机或处理程序自行携带。当数据存储格式、读写路径或方法发生变化时候,其处理程序必须要做出相应改变以保持程序正确性。...5.优化 SQL查询算法,有效地提高查询速度。 6.既能够作为一个单独应用程序应用在客户端服务器网络环境能够作为一个库而嵌入其他软件。...这里班级编号就是外,可以,但不为时他一定在要引用表存在。如果学生表编号是主键这里就不应该重复,外则可以重复允许。 添加外: 班级表: ? 学生表: ? 添加外: ?...4.5.5、唯一 唯一称(唯一约束),和主键区别是可以为有多个唯一并且可以为NULL,但NULL不能重复,也就是说只能有一行为NULL。它会隐式创建唯一索引。...) 部门名,由50位字符所组成,不为,唯一 3 DTel VARCHAR(10) 电话,可 2、根据上面的表结构完成表创建,表名为emp 3、在表添加5条以上数据 4、完成下列查询要求 4.1

3.1K30

一个小时学会MySQL数据库

计算机上没有专用管理数据软件,数据由计算机或处理程序自行携带。当数据存储格式、读写路径或方法发生变化时候,其处理程序必须要做出相应改变以保持程序正确性。...5.优化 SQL查询算法,有效地提高查询速度。 6.既能够作为一个单独应用程序应用在客户端服务器网络环境能够作为一个库而嵌入其他软件。...这里班级编号就是外,可以,但不为时他一定在要引用表存在。如果学生表编号是主键这里就不应该重复,外则可以重复允许。 添加外: 班级表: ? 学生表: ? 添加外: ?...4.5.5、唯一 唯一称(唯一约束),和主键区别是可以为有多个唯一并且可以为NULL,但NULL不能重复,也就是说只能有一行为NULL。它会隐式创建唯一索引。...) 部门名,由50位字符所组成,不为,唯一 3 DTel VARCHAR(10) 电话,可 2、根据上面的表结构完成表创建,表名为emp 3、在表添加5条以上数据 4、完成下列查询要求 4.1

3.8K80

MySQL基础SQL编程学习2

一个表 FOREIGN KEY 指向另一个表 UNIQUE KEY(唯一约束),FOREIGN KEY 约束用于预防破坏表之间连接行为,能防止非法数据插入外列因为必须是指向那个表之一...6.DEFAULT:规定没有给列赋值时默认。 如果没有规定其他,那么会将默认添加到所有的新记录。 7.AUTO INCREMENT字段:会在新记录插入表时生成一个唯一数字。...存放最多 4,294,967,295 字节数据。 | | ENUM(x,y,z,etc.) | 允许输入可能列表。可以在 ENUM 列表列出最大 65535 个。...如果列表不存在插入,则插入。注释:这些是按照您输入顺序排序。...注释:4 位格式所允许:1901 2155。2 位格式所允许:70 69,表示从 1970 2069。

7.2K30

FAQ系列之Phoenix

序列是一个标准 SQL 特性,允许生成通常用于形成 ID 单调递增数字。 有关更多信息,请参阅https://phoenix.apache.org/sequences.html。...VARCHAR(即字符串),而“f1”.val 列声明您 HBase 表包含具有列族和列限定符“f1”:VAL 键值,并且它们将是一个 VARCHAR。...默认情况下,Phoenix 让 HBase 管理时间戳,并只显示所有内容最新。然而,Phoenix 允许用户提供任意时间戳。...这允许执行“SELECT * FROM TABLE”并接收所有行记录,即使是那些非 pk 列为记录。 即使某些(或所有)记录只有一列为会出现同样问题。...Phoenix 上扫描包括列,以确保仅包含主键(并且所有非列都为 null)行将包含在扫描结果

3.2K30

数据库MySQL-列属性

1.3 列属性 1.3.1 是否为(null|not null) null表示字段可以为null not null字段不能为 练习 学员姓名允许吗?...not null 家庭地址允许吗? not null 电子邮件信息允许吗? null 考试成绩允许吗?...null 1.3.2 默认(default) 如果一个字段没有插入,可以默认插入一个指定 mysql> create table stu19( -> name varchar(20)...truncate table删除数据后,再次插入从1开始 练习 在主键列输入数值,允许吗? 不可以 一个表可以有多个主键吗?...不可以 在一个学校数据库,如果一个学校内允许重名学员,但是一个班级内不允许学员重名,可以组合班级和姓名两个字段一起来作为主键吗? 对 标识列(自动增长列)允许为字符数据类型吗?

3.1K30

MySQL 约束

检查约束 检查约束允许你定义满足特定条件范围或规则,用于检查字段是否有效。 例如,学生信息表年龄字段是没有负数并且数值也是有限制。如果是小学生,年龄不低于 6 岁才可入学。...例如,在录入商品信息,如果不输入上架状态“上架”或“下架”,那么会默认设置状态为“未上架”。 非约束 指定某列不为,在插入数据时候必须非。...允许对表定义稍后出现列进行前向引用。 列约束出现在列定义并且只能引用该列。...CHECK (c1 c2) 是表约束:出现在任何列定义之外,因此它可以(并且确实)引用多个表列。 此约束包含对尚未定义前向引用。没有指定约束名称,因此 MySQL 生成一个名称。...COLUMN col_name SET DEFAULT new_default_value; 修改非约束 如果要修改非约束,可以列从允许更改为不允许,或者从不允许更改为允许

17510

21 分钟 MySQL 入门教程完整版

每一行用来描述某个人/物具体信息; (value): 行具体信息, 每个必须与该列数据类型相同; (key): 表中用来识别某个特定的人\物方法, 在当前列具有唯一性。...016777215; "not null" 说明该列不能为, 必须要填, 如果不指定该属性, 默认可为; "auto_increment" 需在整数列中使用, 其作用是在插入数据时若该列为...下面的 char(8) 表示存储字符长度为8, tinyint取值范围为 -127128, default 属性指定当该列默认。...数据库: drop database samp_db; 附录 修改 root 用户密码 按照本文安装方式, root 用户默认是没有密码, 重设 root 密码方式较多, 这里仅介绍一种较常用方式..., 并且 MySQL Workbench SQL 脚本编辑器支持语法高亮以及输入语法检查, 当然, 功能强大, 绝不仅限于这两点。

1.6K20

数据库SQL语言从入门精通--Part 4--SQL语言中模式、基本表、视图

(40) , ) 创建之后,如果往表Employee表中非约束插入将会出错。...2.对于指定为primary key一个列或多个列组合,其中任何一个列都不能出现,而对于unique所约束惟一,则允许为null,只是null最多有一个。...系统保证,表在外部取值要么是父表某一主键,要么取,以此保证两个表之间连接,确保了实体参照完整性。 通俗说,外是对另一个表主键引用。...(6) 若视图定义中有嵌套查询,并且内层查询FROM子句中涉及表也是导出该视图基本表,则此视图不允许更新。...(7) 一个不允许更新视图上定义视图允许更新 这里还有数据库相关优质文章:快戳,快戳?

2.1K10

(超级详细SQL基础,你还不会的话就别学数据库了)

(40) , ) 创建之后,如果往表Employee表中非约束插入将会出错。...2.对于指定为primary key一个列或多个列组合,其中任何一个列都不能出现,而对于unique所约束惟一,则允许为null,只是null最多有一个。...系统保证,表在外部取值要么是父表某一主键,要么取,以此保证两个表之间连接,确保了实体参照完整性。 通俗说,外是对另一个表主键引用。...创建基本表(其他数据库对象一样)时,若没有指定模式,系统根据搜索路径来确定该对象所属模式 关系数据库管理系统会使用模式列表第一个存在模式作为数据库对象模式名 若搜索路径模式名都不存在,系统将给出错误...(6) 若视图定义中有嵌套查询,并且内层查询FROM子句中涉及表也是导出该视图基本表,则此视图不允许更新。 (7) 一个不允许更新视图上定义视图允许更新 别吝啬一个?。

69030

数据库之数据表控制语句

一、约束条件相关语句 1、主键约束(主键约束要求主键列数据唯一,不允许) #创建库 mysql> create database test1; #进入 mysql> use test1; #...2、非约束(不允许) mysql> create table tab3( -> id int(6) not null, # not null :不允许...3、设置唯一性(不允许重复数据,可以为,但只能有一个,否则就会被视为重复) mysql> create table tab4( -> id int not null unique,...说外主要作用是:保持数据一致性、完整性。听得是一头雾水,表示没有听懂。...比方学生表有个学生编号(sid),分数表学生列(stu)引用学生表学 生编号,此时对于分数表 stu 来说。学生表 sid 就是外。 从表叫外表,主表叫主键表、外表,列叫字段。

1.1K40

约束

,,让某字段在整个表是唯一 PRIMARY KEY #主键约束 FOREIGN KEY #外约束 CHECK #检查约束 8.0才支持,5.7还不支持 DEFAULT #默认约束 非约束 建表时候给它约束...当然,对于一个已经建好表,我们可以对进行修改 sqlALTER TABLE student1 MODIFY sno VARCHAR(10) NOT NULL; 删除非约束,像上面那样 sqlALTER...主键约束列不允许重复,允许出现 一个表最多有一个主键约束,建立主键约束可以在列级别创建,可以在表级别创建 主键约束对应表一列或者多列(复合主键) MySQL主键名总是PRIMARY,自己命名了也没有用...FOREIGN KEY约束 外约束 外约束会涉及主表和从表 主表(父表):被引用表 从表(子表):引用别人表 从表必须引用主表主键或者唯一性约束列 在创建外时候,如果不给外约束的话...但是在MySQL8.0就可以使用check约束了 DEFAULT约束 指定某个字段默认,意思就是当该字段没有插入数据时候,使用默认 就是在后面加上default

76220

一千行 MySQL 详细学习笔记

保存一个精确数值,不会发生数据改变,不同于浮点数四舍五入。 浮点数转换为字符串来保存,每9位数字保存为4个字节。 2....表示当前列是否可以为null,表示什么都没有。 null, 允许。默认。 not null, 不允许。...外关联表t2id字段。...但是,视图并不在数据库以存储数据集形式存在。行和列数据来自由定义视图查询所引用表,并且在引用视图时动态生成。 视图具有表结构文件,但不存在数据文件。...- 只能单独调用,不可夹杂在其他语句中 -- 参数 IN|OUT|INOUT 参数名 数据类型 IN 输入:在调用过程数据输入到过程体内部参数 OUT 输出:在调用过程,将过程体处理完结果返回到客户端

2.4K20

数据定义: CREATE、DROP、ALTER

允许数据库名规则在章节 6.1.2 数据库、表、索引、列和别名 中被给出。 如果数据库已经存在,并且没有指定 IF NOT EXISTS,这时会产生一个错误。...如果列被定义为 NOT NULL,缺省取决于列类型: 146 对于没有声明 AUTO_INCREMENT 属性数字类型,缺省为 0。...另一方面,如果所有的都是不同,你将在每个上损失 1 字节,如果该不是一个可以有 NULL 。(在这种情况下,压缩后长度存储在用于是否为 NULL 位元组。)...这在任何方面都不影响你如何使用该列;在 MySQL VARCHAR 只是存储字符另一个不同方法。MySQL 执行这个转换,是因为节省空间,并且使表操作更快。...(如果没有 PRIMARY KEY 被明确指定,MySQL 第一个 UNIQUE 标记为 PRIMARY KEY ) 如果你添加一个 UNIQUE INDEX 或 PRIMARY KEY 一个表

1.6K20
领券