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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 逻辑约束用的更多,外键约束只能在INNODB引擎下使用。 删除列的操作 delete from tbl_name where 条件。 CASCADE用法举例:1.创建时就加入CASCADE:FOREIGN KEY (外键列) REFERENCES 父表 (参照列)ON DELETE CASCADE; 2.创建后再加入CASCADE :ALTER TABLE (子表) ADD FOREIGN KEY (外键列) REFERENCES 父表 (参照列)ON DELETE CASCADE; SET NULL用法举例:1.创建时就加入SET NULL:FOREIGN KEY (外键列) REFERENCES 父表 (参照列)ON DELETE SET NULL; 2.创建后再加入SET NULL :ALTER TABLE (子表) ADD FOREIGN KEY (外键列) REFERENCES 父表 (参照列)ON DELETE SET NULL; RESTRICT用法举例:1.创建时就加入RESTRICT:FOREIGN KEY (外键列) REFERENCES 父表 (参照列)ON DELETE RESTRICT; 2.创建后再加入RESTRICT :ALTER TABLE (子表) ADD FOREIGN KEY (外键列) REFERENCES 父表 (参照列)ON DELETE RESTRICT;
    查看全部
  • limit 限制查询结果返回的数量 select * from users limit 2 ;从第一条开始返回,返回前两个 select * from users limit 3,2 ;返回从第四个开始,一共返回两个 select * from users order by id limit 3,2; 按照id 目前的顺序从第四个开始,一共返回两个。按排完序后的 下标取值 insert test(username)select username from users where age>15 限制查询结果返回的数量:[LIMIT {[offset,] row_count|row_count OFFSET offset}]; /** offset 表示偏移的位置,默认第一条记录为0 id 号与结果集的排序无任何关系 */ 插入记录:INSERT [INTO] table_name [(column_name)] SELECT ... //将查询结果插入到指定的数据表中 /** 插入的记录必须与查询的记录数量一致 */ insert test select username from users3 where age>=30; 1、限制查询结果返回的数量:[LIMIT {[offset,] row_count|row_count OFFSET offset}] 2、默认返回所有结果,通过LIMIT可以限制其返回指定数量的记录 3、如SELECT * FROM users LIMIT 2,3; 偏移量为2,从第三条开始,返回3条结果 4、偏移量不是按照id等字段来排序,而是按照当前查询排序的方式顺序偏移
    查看全部
  • 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排序
    查看全部
  • having:对分组进行设置条件 select sex,age from users group by 2 having age>35 //查找字段中必须要有age select sex from users group by 1 having count(id)>2 //查找字段中不一定要有id,因为用了聚合函数中的count() having 的条件列要么是select中出现的数据列,要么是聚合函数
    查看全部
  • 查询结果分组: group by{col_name|position} select * from users group by sex; select * from users group by 1;(这里的一表示查询的第一个字段,这里查询所有,第一个字段就是id,也就是会按照字段进行分组) ASC 升序默认 DESC降序 SELECT sex from users GROUP BY sex 按照sex进行分组。
    查看全部
  • bin目录,存储可执行文件 data目录,存储数据文件 docs,文档 include目录,存储包含的头文件 lib目录,数据库文件 share,错误消息和字符集文件
    查看全部
  • 查询表达式 每一个表达式表示想要的一列,必须有最少一个。 多个列之间以英文逗号分隔 星号(*)表示所有列,tb1_name.*可以表示命名表的所有列 查询表达式可以使用[AS] alias_name 为其赋予别名 别名可用于GROUP BY,ORDER BY或者HAVING子句
    查看全部
  • 单表删除记录 1、删除记录DELETE:分为单表删除和多表删除 2、单表删除:DELETE FROM tbl_name [WHERE where_conditon]; 3、若不添加WHERE则删除【全部记录】 删除后再插入,插入的id号从最大的往上加,而不是填补删除的。
    查看全部
  • 单表更新记录 1、更新记录UPDATE,有两种方式,单表和多表 2、单表更新: UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={exp1|DEFAULT}[,col_name2=...][WHERE where_condition] 【一般来说要用WHERE指定位置,不然所有数据都会被更新】 3、如: 不指定位置:UPDATE users set age = age + 5,sex = 0; 使表里所有记录的age加5 指定位置: UPDATE users set age = age+ + 10 WHERE id % 2=0; 取id为偶数的位置
    查看全部
  • insert-set记录 insert users SET username='zhangsan',password='123456' 前面说的insert [column_name]values(...)[,(...),(....)];的方法比较常用,可以一次性插入多条记录,并且可以输入表达式甚至是函数但是无法进行子查询 insert tb_name set column_name={expr|default}的方法是可以进行子查询,但是只能插入一条记录. 第三种是: insert table_name [(colname...)] select..... 这种方法就是把查询到的结果插入到指定数据表中
    查看全部
  • insert插入记录 INSERT [INTO] table_name [(column_name,...)] {VALUES|VALUE} ({expr|DEFAULT},...),(...),...; /** column_name 表示列名 expr 表示表达式 DEFAULT 可直接书写,表示默认值 当字段有自动增加的属性后,在插入表的所有字段的数据时,可以填写 NULL 或 DEFAULT 这两个关键字,表示按照原先默认自动增长的属性 插入多行数据时,可以用逗号隔开 */ Eg: INSERT INTO table_name VALUE(DEFAULT,'BeforeDayBreak',md5('123'),DEFAULT,0),(NULL,'Superman',md5('123'),DEFAULT,0); 自增的属性可以为其赋值为null或者default来实现自增 insert into users values(NULL,'Tom','123',25,1) 或者 insert into users values(DEFAULT,'Tom','123',25,1)
    查看全部
  • 1.修改列定义 ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST |AFTER col_name]; ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST; //将id字段的位置提到第一列 SHOW COLUMNS FROM users2; ALTER TABLE users2 MODIFY id TINYINT UNSIGNED NOT NULL; //修改数据类型,需注意数据丢失的问题 2.修改列名称 ALTER TABLE tbl_name CHANGE [COLUMN] col_name new_col_name column_definition [FIRST|AFTER col_name]; ALTER TABLE users2 CHANGE pid p_id TINYINT UNSIGNED; //修改列名称 3.数据表更名 方法1 ALTER TABLE tbl_name RENAME [TO/AS] new_tbl_name ALTER TABLE users2 RENAME TO users3; SHOW TABLES; ALTER TABLE users2 RENAME AS users4; SHOW TABLES; ALTER TABLE users2 RENAME users5; 方法2 RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] ... RENAME TABLE users5 TO users2; 近来少使用数据表的列名及表名的更名。 2.约束 按功能划分:NOT NULL, PRIMARY KEY, UNIQUE KEY, DEFAULT, FOREIGN KEY 按数据列的数目划分:表级约束, 列级约束 3.修改数据表 针对字段的操作:添加/删除字段、修改列定义、修改列名称等。 针对约束的操作:添加/删除各种约束 针对数据表的操作:数据表更名(两种方式) 注意:尽量不要修改列名和表名,特别是在数据被引用后。 CHANGE 不止可以修改列定义,还可以修改列名称。
    查看全部
  • 删除约束: 1、删除主键约束 ALTER TABLE tbl_name DROP PRIMARY KEY; 2、删除唯一约束 ALTER TABLE tbl_name DROP {INDEX|KEY} index_name(引索通过SHOW INDEXES tbl_name查看); 3、删除外键约束 ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol(约束名字:通过SHOW CREATE TABLE tbl_name查看);
    查看全部
  • 给已有表添加约束: 1、添加主键约束: ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] PRIMARY KEY[index_type] (col_name); 2、添加唯一约束 ALTER TABLE tbl_name ADD UNIQUE(col_name); 3、添加外键约束 ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] FOREIGN KEY [index_type](外键列) REFERENCES 父类(参考列); 4、添加/删除默认DEFAULT约束 ALTER TABLE tbl_name ALTER col_name SET DEFAULT literal / DROP DEFAULT; 索引有hash索引,也有btree索引
    查看全部
  • 修改数据表 --添加单列 --FIRST所有列前 AFTER列名后 ALTER TABLE table_name ADD [COLUNM] col_name column_definition [FIRST | AFTER col_name] --添加多列 ALTER TABLE table_name ADD [COLUNM] (col_name column_definition,...) --删除列 ALTER TABLE tbl_name DROP [COLUMN] col_name --删除多列 ALTER TABLE tbl_name DROP [COLUMN] col_name,[COLUMN] col_name... 删除表: DROP TABLE tb_name; DROP TABLE tb_name, tb_name...;
    查看全部

举报

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

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