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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • INSERT test(username) FROM users WHERE age>=30; //两表之间增加
    查看全部
  • 删除外键的做法: 例: alter table users drop foreign key users_ibfk_1;
    查看全部
  • CASCADE:删除或更新父表中的数据相应的删除或更新子表中的相匹配的行; SHOW CREATE TABLE tb_name;//显示数据表创建时的命令; 创建子表:users1; >CREATE TABLE users( >id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, >username VARCHAR(10) NOT NULL, >pid(外键) SMALLINT(与参照键类型相同) UNSIGNED(与参照键有无符号类型也要相同),//外键的作用体现在这:如果我们要添加一个省份的字段,需要添加个char型的,现在有了关系型数据库,我们只需要存储省份的id即可; >FOREIGN KEY (pid) PREFERENCES provinces (id) ON DELETE CASCADE, >); INSERT provinces(pname) VALUES('A'); INSERT provinces(pname) VALUES('B'); INSERT provinces(pname) VALUES('C'); INSERT users1(username,pid) VALUES('Tom',1); INSERT users1(username,pid) VALUES('Jerry',2); INSERT users1(username,pid) VALUES('Lucy',3); 当删除provinces中的id=3的数据C时,相应的users1中的Lucy也会被删掉,更新的话同样如此; SET NULL://从父表删除或更新行,会设置子表中的外键列为NULL,如果使用该选项,必须保证子表列没有指定NOT NULL
    查看全部
  • 自增需要和主键组合使用
    查看全部
    0 采集 收起 来源:MySQL自动编号

    2015-11-12

  • CASCADE:删除或更新父表中的数据相应的删除或更新子表中的相匹配的行; SHOW CREATE TABLE tb_name;//显示数据表创建时的命令; 创建子表:users1; >CREATE TABLE users( >id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, >username VARCHAR(10) NOT NULL, >pid(外键) SMALLINT(与参照键类型相同) UNSIGNED(与参照键有无符号类型也要相同),//外键的作用体现在这:如果我们要添加一个省份的字段,需要添加个char型的,现在有了关系型数据库,我们只需要存储省份的id即可; >FOREIGN KEY (pid) PREFERENCES provinces (id) ON DELETE CASCADE, >); INSERT provinces(pname) VALUES('A'); INSERT provinces(pname) VALUES('B'); INSERT provinces(pname) VALUES('C'); INSERT users1(username,pid) VALUES('Tom',1); INSERT users1(username,pid) VALUES('Jerry',2); INSERT users1(username,pid) VALUES('Lucy',3); 当删除provinces中的id=3的数据C时,相应的users1中的Lucy也会被删掉,更新的话同样如此; SET NULL://从父表删除或更新行,会设置子表中的外键列为NULL,如果使用该选项,必须保证子表列没有指定NOT NULL RESTRICT://拒绝对父表的删除或更新操作; NO ACTION://标准的SQL语句,在MYSQL当中与RESTRICT相同 实际开发中,我们很少使用物理的外键约束,而是使用逻辑约束;无理的外键约束只有innoDB这种存储引擎才会支持,MYISAM这种引擎就不支持物理的外键约束。反过来说,当我们使用到的引擎为MYISAM时,只能使用逻辑外键(即两个表的设计的逻辑关系)。
    查看全部
  • order by 对查询结果进行排序,默认是升序 order by{col_name} select * from users order by id desc; //对一个字段排序 select * from users order by age,id desc; //两个字段同时排序 desc是降序 1、对查询结果进行排序:[ORDER BY [col_name | expr | position } [ASC|DESC],...]elect * from user order by id desc; 2、可以同时按多条字段进行排序,规则是先按前面的字段排,在基础上再按后面字段排。 3、如:SELECT * FROM users ORDER BY age,id DESC; 先按照age排序,如果age有重复的,重复的字段里按id排序
    查看全部
  • 使用比较运算符的子查询: (1)SELECT AVG( price ) FROM goods; (2)SELECT ROUND( AVG(price),2 ); // 它是个聚合函数——AVG求平均值进行四舍五入,保留 2 位小数 (3)SELECT id,name,price FROM goods WHERE price >= (SELECT ROUND(AVG(price),2) FROM goods); // 子查询方式 (4)在子查询时的关键字ANY / SOME / ALL select goods_name,goods_price from tdb_goods where goods_price >= ANY (select goods_price from tdb_goods where goods_cate='超级本'); 注意: 1. 子查询只能返回一行记录,不然会报错。 2. 子查询还可以包含子查询。 关键字 ANY SOME ALL >、>= 最小值 最小值 最大值 <、<= 最大值 最大值 最小值 = 任意值 任意值 <>、!= 任意值
    查看全部
  • 1)父表跟子表必须使用相同的存储引擎,且必须为INNODB; 2)外间列跟参照列必须具有相同的数据类型,且数字的长度跟是否有符号位必须相同; 3)外间列跟参照列必须创建索引(id在设置为primary key的时候就创建了索引),如果外键列不存在索引的话,mysql将自动创建索引; 编辑数据表的默认存储引擎: 找到my.ini文件:修改为:default-storage-engine=INNODB 创建父表:provinces; mysql>CREATE TABLE provinces( >id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, >pname VARCHAR(20) NOT NULL >); 创建子表:users; >CREATE TABLE users( >id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, >username VARCHAR(10) NOT NULL, >pid(外键) SMALLINT(与参照键类型相同) UNSIGNED(与参照键有无符号类型也要相同),//外键的作用体现在这:如果我们要添加一个省份的字段,需要添加个char型的,现在有了关系型数据库,我们只需要存储省份的id即可; >FOREIGN KEY (pid) PREFERENCES provinces (id) >); 展示数据表的索引:SHOW INDEX FROM tb_name\G;
    查看全部
  • 约束分为表级约束和列(字段)级约束; 约束类型包括: NOT NULL(非空约束); PRIMARY KEY(主键约束); UNIQUE KEY(唯一约束); DEFAULT(默认约束); FOREIGN KEY(外键约束);作用实现一对一或者一对多关系;
    查看全部
  • 例子:性别分男、女、保密三项;默认为保密; mysql>CREATE TABLE tb5( >id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, >username VARCHAR(20) NOT NULL UNIQUE KEY, >sex ENUM('1','2','3') DEFAULT '3' >);
    查看全部
  • mysql登录 mysql -uroot -proot -P3306 -h127.0.0.1
    查看全部
  • 默认值: 当插入字段时,如果没有明确为字段赋值,则赋予字段默认值。
    查看全部
  • [HAVING when where_condition] SELECT sex FROM users GROUP BY 1 HAVING age > 35; //有错 SELECT sex, age FROM users GROUP BY 1 HAVING age > 35; SELECT sex FROM users GROUP BY 1 HAVING count(id) >= 2; (这条指令,指按照sex分组,分成了两组sex=0和sex=NULL,条件id数大于2的留下显示,显然sex=0个数有8>2故留下,而sex=NULL个数为1,不满足条件,故不显示。如果条件改成count(id)>=1,则会显示sex为0和NULL两个分组。) 聚合函数永远只有一个返回结果 count是记录个数的,
    查看全部
  • 著作权归作者所有。 商业转载请联系作者获得授权,非商业转载请注明出处。 作者:stevenliuyi 链接:http://www.zhihu.com/question/20451870/answer/15168034 来源:知乎 GBK编码,一个汉字占两个字节。UTF-16编码,通常汉字占两个字节,CJKV扩展B区、扩展C区、扩展D区中的汉字占四个字节(一般字符的Unicode范围是U+0000至U+FFFF,而这些扩展部分的范围大于U+20000,因而要用两个UTF-16)。UTF-8编码是变长编码,通常汉字占三个字节,扩展B区以后的汉字占四个字节。
    查看全部
  • UNIQUE KEY: 唯一约束,可以保证记录的唯一性; 唯一约束的字段可以为空值; 每张数据表可以存在多个唯一约束; mysql>CREATE TABLE tb4( >id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY, >username VARCHAR(20) NOT NULL UNIQUE KEY, >age TINYINT UNSIGNED NOT NULL >); 这样可以保证在id不冲突的情况下username不会冲突;
    查看全部

举报

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

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