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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 1、子查询(Subquery)是指出现在【其他SQL语句内】的SELECT子,并非指的是查找,【它返回的结果可以看作是一个数据表】 2、例如:SELECT * FROM t1 WHERE col1 = ( SELECT col2 FROM t2 ); · 其中SELECT * FROM t1称为Outer Query/Outer Statement · SELECT col2 FROM t2称为SubQuery 3、子查询指嵌套在查询【内部】,且必须始终出现在【圆括号】内。 4、子查询可以包含多个关键字或者条件,如DISTINCT,GROUP BY,ORDER BY,LIMIT,函数等 5、子查询的外层查询可以说:【SELECT,INSERT,UPDATE,SET或DO】 6、子查询可以返回值:标量、一行、一列或者子查询
    查看全部
  • MySQL默认的端口号:3306 MySQL中的超级用户:root 创建数据库:CREATE DATABASE 修改数据库:ALTER DATABASE 删除数据库:DROP DATABASE
    查看全部
    0 采集 收起 来源:内容回顾

    2016-07-30

  • 本章主要介绍了对数据的操作,分为四大类:增,改,删,查。 INSERT://增加记录,有三种方法。 INSERT [INTO] tbl_name [(col_name,...)] {VALUES VALUE} ({exprDEFAULT},...),(...),... INSERT [INTO] tbl_name SET col_name={exprDEFAULT},... INSERT [INTO] tbl_name [(col_name,...)] SELECT... UPDATE://更新数据 单表更新/UPDATE [LOW_PRIORITY][IGNORE] table_reference SET col_name1={expr1DEFAULT},[col_name2={expr2DEFAULT}]...[WHERE where_condition] 多表更新/... DELETE : //删除数据 单表删除/DELETE FROM tbl_name [WHERE where_condition} 多表删除/... SELECT: //查询 SELECT select_expr [,select_expr ...] [ FROM WHERE GROUP BY {col_name position}[ASCDESC],... LIMIT {[offset,] row_countrow_count OFFSET offset ]
    查看全部
    0 采集 收起 来源:小结

    2016-07-30

  • 限制查询结果返回数量 [LIMIT{[offset,]row_countrow_count OFFSET offset}] eg: SELECT * FROM users LIMIT 2; // 从第一条开始(第一个为0),返回两条 SELECT * FROM users LIMIT 2,3 ;//从第三条开始(第一个为0),返回三条 第三种insert,数据从一个表插入到另一个表: INSERT table_name(column_name) SELECT ... eg: INSERT test SELECT username FROM users WHERE age >=30; // 字段不匹配提示 INSERT test(username) SELECT username FROM users WHERE age >=30;
    查看全部
  • 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 } [ASCDESC],...]elect * from user order by id desc; 2、可以同时按多条字段进行排序,规则是先按前面的字段排,在基础上再按后面字段排。 3、如:SELECT * FROM users ORDER BY age,id DESC; 先按照age排序,如果age有重复的,重复的字段里按id排序
    查看全部
  • 外键约束的参照操作
    查看全部
  • 分组条件: 利用GROUP BY 分组 添加分组条件 [HAVING where_condition] 要么为一个聚合函数,要么出现在SELECT 条件中。 [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是记录个数的,
    查看全部
  • 除了查询结果加where条件外 还可以对其分组: 查询结果分组: [group by{col_nameposition} [ASCDESC],...] select * from users group by sex; select * from users group by 1;(这里的一表示查询的第一个字段,这里查询所有,第一个字段就是id,也就是会按照字段进行分组) ASC 升序默认 desc 降序 可以有多个分组,用“,”隔开
    查看全部
  • 查询表达式 每一个表达式表示想要的一列,必须至少有一个 多个列之间以英文逗号分隔 星号(*)表示所以列 tbl_name.*可以表示命名表的所有列 查询表达式可以使用[As]alias_name为其赋予别名 别名可用于GROUP BY,ORDRE BY或HAVING子句 SELECT 字段出现顺序影响结果集出现顺序,字段别名也影响结果集字段别名。 一、查找记录 1、语法: SELECT select_expr [,select expr2...] 只查找某一个函数或表达式 [ FROM table_references 查询表名 [WHERE where_conditon] 查询条件 [GROUP BY {col_nameposition} [ASCDESC],...] 按某个字段进行分组,相同的只显示第一个 [HAVING where_conditon] 分组时,给出显示条件 [ORDER BY {col_nameexprposition} [ASCDESC],...] 排序 [LIMIT {[offset,]row_countrow_count OFFSET offset}] 限制返回数量 } 2、查询表达式的顺序会影响结果顺序 每个表达式表示想要的一列,必须有至少一个 多个列直接以英文逗号分隔 星号*表示所有列 3、使用tbl_name.col_name来表示列记录,这多表查询时可以区别开同名的列 4、使用[AS] alias_name为其赋予别名,别名可以用于GROUP BY、ORDER BY或HAVING子句,例如SELECT id AS userId,username AS uname FROM users; 这样查询出来的结果会用别名表示
    查看全部
  • 1、删除记录DELETE:分为单表删除和多表删除 2、单表删除:DELETE FROM tbl_name [WHERE where_conditon]; 3、若不添加WHERE则删除【全部记录】 删除后再插入,插入的id号从最大的往上加,而不是填补删除的。 delete from users where id=6; insert users values (null,'111','222',33,null); 删除后再插入,插入的id号从最大的往上加,而不是填补删除的。
    查看全部
  • 表单更新记录UPDATE UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={exp1DEFAULT}[,col_name2=...][WHERE where_condition]; 【一般来说要用WHERE指定位置,不然所有数据都会被更新】 update更新数据 update <表名> set <列名>=<表达式>,[,<列名>=<表达式>]... [where <条件>]; 例子: 不指定位置:UPDATE users set age = age + 5 - id,sex = 0; //使表里所有记录的age加5并且减去当前id值 指定位置: UPDATE users set age = age+ + 10 WHERE id % 2=0; //取id为偶数的位置
    查看全部
  • 外键约束的要求
    查看全部
  • 前面说的insert [column_name]values(...)[,(...),(....)];的方法比较常用,可以一次性插入多条记录,并且可以输入表达式甚至是函数 但是无法进行子查询 insert tb_name set column_name={exprdefault}的方法是可以进行子查询,但是只能插入一条记录 INSERT users SET username=‘Ben’,password=‘345’; 第三种insert方法 insert table_name [(colname...)] select..... 这种方法就是把查询到的结果插入到指定数据表中
    查看全部
  • INSERT [INTO] tablename [(col_name1,col_name2...)] {VALUESVALUE} ({exprDEFAULTfuc},...) ,(...)... 插入数据可以是函数或者表达式 自动编号的默认值(可遵守默认递增):NULL或DEFAULT 默认值可以直接插入DEFAULT 省略列名,必须依次赋值 CREATE TABLE users( id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, username VARCHAR(20) NOT NULL, password VARCHAR(20) NOT NULL, age TINYINT UNSIGNED NOT NULL DEFAULT 10, sex BOOLEAN ); //创建表users// INSERT TABLE users VALUES(NULL,'Tom','123',25,1); //插入数据,此处要将每一项赋值// SELECT * FROM users; //查看表格内容// INSERT TABLE users VALUES(NULL,'John','456',25,1); INSERT TABLE users VALUES(DEFAULT,'Rose','789',25,0); //AUTO_INCREMENT项可以这样写// INSERT TABLE users VALUES(NULL,'Tom','456',3*7-5,0); //age行可用算式写法// SELECT * FROM users; SHOW COLUMNS FROM users; INSERT TABLE users VALUES(NULL,'Tom','456',DEFAULT,1); //默认选项的写法可以如左边所示// INSERT TABLE users VALUES(NULL,'Rose','123',3*7-5,1),(NULL,'Tom','456',DEFAULT,1); //连续插入多个数据的方式//
    查看全部
  • 1. 创建表: create table user( id smallint primary key not null auto_increment, name varchar(20), age smallint ); 2. show create table user; 查看创建表信息 show tables; 显示当前数据库所有的表 show columns from user; 显示列属性 或 discribe user; show indexes from user \G; 显示所有的索引,“\G” 表示按列显示 3. drop table user1; 删除表 4. 表添加一列: alter table user add age tinyint 表删除一列: alter table user drop age; 5. 添加主键约束:alter table user2 add primary key (id); 删除主键约束:alter table user2 drop primary key; 添加唯一约束: alter table user2 add unique key uni_key (name); 删除唯一约束: drop index uni_key on user2; 添加外键约束:alter table user2 add foreign key (age) references user(id); 添加默认约束:alter table user2 alter age set default 20; 删除默认约束:alter table user2 alter age drop default; 修改列属性:alter table user2 modify name varchar(30); 修改列名:alter table user2 change age age1 tinyint not null; 修改表名:alter tabler user2 rename user3 或者 rename table user3 to user2; 注:尽量不要修改列名和表名
    查看全部
    0 采集 收起 来源:小结

    2016-07-30

举报

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

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