为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
与MySQL的零距离接触_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 表级约束:约束只针对某一字段 列级约束:约束针对两个及两个以上字段 FOREIGN KEY(外键约束):保持数据的一致性,完整性。实现数据表的一对一,一对多的关系。 1,父表(子表所参照的表)和子表(具有外键列的表)必须使用相同的存储引擎,而且禁止使用临时表。 2,数据表的存储引擎只能为InnoDB(可在my.ini查看修改。5.7版本my.ini地址:C:\ProgramData\MySQL\MySQL Server 5.7\my.ini)。 3,外键列(曾经加过foreign关键词的那一列)和参照列(外键列所参照的那列)必须具有相似的数据类型(字符,整型,日期时间等)。其中数字的长度或是否有符号位(如整型有无符号(unsigned)和有符号(signed)两种类型;)必须相同;而字符的长度则可以不同。比如说父表里面有一个参数id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,子表里面就要写作pid SMALLINT UNSIGNED(符号位和数据类型要相似) 4,外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL将自动创建索引。 FOREIGN KEY (pid)REFERENCES 父表名(id) 也就是users表中有两个索引(id pid) 外键列:pid (可自定义) 参照列:id (可自定义) SHOW INDEXES FROM table_name查看索引 SHOW INDEXES FROM table_name\G;以网格方式来查看索引
    查看全部
  • 约束类型
    查看全部
  • create table table_name 创建数据表 show columns from table_name查看数据表结构 select*from table_name数据查找,验证数据是否成功写入。 auto_increment必须要和主键一起使用 但是主键可以不和auto_increment一起使用 不一起使用时主键可以自主赋值 PRIMARY KEY 主键约束 一张表只能有一个主键约束 Unique key 唯一约束 一个表可以有多个Unique约束 default 默认约束
    查看全部
    1 采集 收起 来源:总结

    2017-04-30

  • default 默认值 当插入记录时 如果没有明确为字段赋值 则自动赋予默认值 例句:sex enum('1','2','3') default '3', 这个建表语句要达成的效果就是性别提供三个选项 1男 2女 3保密 那么如果数据插入没有添加性别 那么默认3选项
    查看全部
  • unique key 唯一约束 唯一约束可以保证记录的唯一性 唯一约束的字段可以为空值(null)(即使存储多个值,最终保留的空值也只有一个,故可以保证唯一性。) 每张数据表可以存在多个唯一约束(可以存在多个空值null),primary key就只有1个。 、唯一约束添加语句:username varchar(20) not null unique key, 达到的效果就是如果插入语句有相同的字段 那么会约束他 只能保证数据唯一性。 primary key与unique key都是唯一性约束。但二者有很大的区别: 1.作为primary key的1个或多个列必须为NOT NULL; 而unique key约束的列可以为null,这是primary key与unique key最大的区别。 2.一个表只能有一个primary key(单列或多列,多列主键叫联合主键),但可以有多个unique key。
    查看全部
  • AUTO_INCREMENT必须和PRIMARY KEY 一起使用,每次自增1,可不进行赋值 而PRIMARY KEY 可以不和AUTO_INCREMENT一起使用,可以被赋值但是不允许有相同值的出现 GREATE TABLE tb3(id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(20) UNSIGNED NOT NULL); INSERT tb3(username) VALUES('张三'); INSERT tb3(username) VALUES('李四'); INSERT tb3(username) VALUES('王五');
    查看全部
  • mysql 中 AUTO_INCREMENT 意思和主键搭配 例: CREATE TABLE TABLE_1 ( ID INT UNSIGNED NOT NULL PRIMARY KEY搜索 AUTO_INCREMENT, // ID列为无符号整型,该列值不可以为空,并不可以重复,而且自增。 NAME VARCHAR(5) NOT NULL ) AUTO_INCREMENT = 100;(ID列从100开始自增) PRIMAPY是主键的意思,表示定义的该列值在表中是唯一的意思,不可以有重复。 UNSIGNED是无符号的意思,代表该字段没有正负。 AUTO_INCREMENT可以理解为自动递增的意思,每增加一条记录,值会自动加1。(例如在上面的例子中,ID列每增加一条记录,便会从100自增) 。
    查看全部
  • 字段一定要为数值型,可为整数或浮点数,为浮点数时小数位必须要为0;如FLOAT (7,0) 自动编号 AUTO_INCREMENT (自动编号,且必须与主键组合使用,否则会报错。默认情况下,起始值为1,每次的增量为1,可保证记录唯一性)INCREMENT(增加,增长)
    查看全部
    0 采集 收起 来源:MySQL自动编号

    2017-04-30

  • age TINYINT UNSIGNED//小int类型, 无无符号位
    查看全部
  • NULL ,字段值可为空 NOT NULL,字段值不为空 同一个字段不可能既为NULL,又为NOT NULL。 在创建数据表的时候,如果字段值为空,可以写NULL,也可省略,不写的话默认为空(如果为空可赋值也可不赋值) CREATE TABLE tb2(username VARCHAR(20) UNSIGNED NOT NULL), age TINYINT UNSIGNED NULL); SELECT * FROM tb2;//显示
    查看全部
  • INSERT [INTO]tb_name(表名)[col_name,....(表里的哪几列要赋值,可省略)]VALUES(val,...)(值是多少) SELECT * FROM tb1; 查找(*在这里表示字段的过滤) mysql> insert table_1 values('tom',23,12232.50);如果省略列的名称,必须给所有字段赋值,否则会报错。 mysql> insert table_1(username,salary)values('cat',12212.50);如果加上括号内的列名,可自定义选择需要赋值的内容。
    查看全部
  • 查看数据表结构
    查看全部
  • 行记录 列 字段 USE db_name;打开某个数据库 SELECT DATABASE();查看用户当前所打开的数据库 CREATE TABLE[IF NOT EXISTS] table_name;创建数据表(如果数据表已存在,加上if not exists,系统将不提示错误,否则会提示错误) colume_name data_type,(分别是列名称(有多少列是经过分析才能得到而不是凭空得出)和数据类型如整型,浮点型等来选取),逗号是两个字段之间的分隔符,最后一个字段不需要加逗号。 例子: USE 数据库名 <打开要创建表的数据库> CREATE TABLE tb1( <在打开的数据库中创建表> username VARCHAR(20), <表字段和类型> age TINYINT UNSIGNED, salary FLOAT(8,2) UNSIGNED );
    查看全部
  • char定长类型(没达到指定长度后面用空格来补齐) varchar变长类型(存什么就是什么) 1字节=8位(1 byte = 8bit) ,8bit就是8位,最大存储范围就是8个1,8个1的存储范围就是255,就是2的8次方 ENUM('value1','value2',....),只取1个 SET('value1','value2',....)可单选可多选,任意组合
    查看全部

举报

0/150
提交
取消
课程须知
要想学习本课程,你只需要知道数据库是个什么东东就足够了,是不是很easy?!
老师告诉你能学到什么?
1、MySQL安装与配置 2、数据类型 3、流程控制与运算符 4、DDL、DCL、DQL、DML 5、常用函数 6、表类型(存储引擎) 7、图形化工具
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!