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

与MySQL的零距离接触

平然 学生
难度入门
时长 8小时29分
  • 使用[NOT]IN的子查询 语法结构:operand comparison_operator[NOT]IN(subquery) =ANY 等价于 IN !=ALL或<>ANY等价于NOT IN 使用[NOT]EXIST引发的子查询 (不常用)
    查看全部
  • 使用比较运算符的子查询: (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 >、>= 最小值 最小值 最大值 <、<= 最大值 最大值 最小值 = 任意值 任意值 <>、!= 任意值
    查看全部
  • 关键字与函数名称全部大写 数据库名称。表名称、字段名称全部小写 SQL语句必须以分号结尾
    查看全部
    0 采集 收起 来源:操作数据库

    2016-07-29

  • 子查询de注意点: (1)子查询指嵌套在查询内部,且必须始终出现在圆括号内。 (2)子查询可以包含多个关键字或条件,如: DISTINCT / GROUP BY / ORDER BY / LIMIT / 函数等。 (3)子查询的外层查询可以是:SELECT, INSERT, UPDATE , SET 或DO (4)子查询可以返回标量、一行、一列或子查询。
    查看全部
  • (1)SELECT * FROM users LIMIT 2; // 一个数字限制查询结果数量为 2 条 (2)SELECT * FROM users LIMIT 2,3 ;从第三个开始(第一个为0),返回三条。 (3)第三种insert,数据从一个表插入到另一个表: INSERT test SELECT username FROM users WHERE age >=30; // 字段不匹配提示 INSERT test(username) SELECT username FROM users WHERE age >=30; 这是INSERT的第三种方法,与前两种相比,这种方法是使用了子选择,这样就相当于将A表中满足条件的数据导入了B表,无需手动写了 mysql分页要用到: [LIMIT{[offset,]row_countrow_count OFFSET offset}]
    查看全部
  • 删除主键约束: ALTER TABLE table_name DROP PRIMARY KEY; 删除唯一约束: ALTER TABLE table_name DROP {INDEX KEY} index_name; 删除外键约束: ALTER TABLE table_name DROP FOREIGN KEY fk_symbol; 查看外键约束名称(fk_symbol):SHOW CREATE TABLE table_name;
    查看全部
  • 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 降序 可以有多个分组,用“,”隔开
    查看全部
  • 删除表两种 单表&多表 1.单表删除 DELETE FROM 表名 (WHERE 条件) 删除后,添加记录,自动编号是已有编号的最大加1; DELETE FROM users WHERE id=6;
    查看全部
  • insert插入记录 INSERT [INTO] table_name [(column_name,...)] {VALUESVALUE} ({exprDEFAULT},...),(...),...; /** column_name 表示列名 expr 表示表达式 DEFAULT 可直接书写,表示默认值 当字段有自动增加的属性后,在插入表的所有字段的数据时,可以填写 NULL 或 DEFAULT 这两个关键字,表示按照原先默认自动增长的属性 插入多行数据时,可以用逗号隔开 */ Eg: INSERT INTO table_name VALUE(DEFAULT,'BeforeDayBreak',md5('123'),DEFAULT,0),(NULL,'Superman',md5('123'),DEFAULT,0);
    查看全部
  • 单表更新: UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={exp1DEFAULT}[,col_name2=...][WHERE where_condition] 【一般来说要用WHERE指定位置,不然所有数据都会被更新】 例: 不指定位置:UPDATE users set age = age + 5,sex = 0; 使表里所有记录的age加5 指定位置: UPDATE users set age = age+ + 10 WHERE id % 2=0; 取id为偶数的位置 update更新数据 update <表名> set <列名>=<表达式>,[,<列名>=<表达式>]... [where <条件>];
    查看全部
  • 添加主键约束: ALTER TABLE table_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_column_name,...); 添加单个唯一约束: ALTER TABLE table_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEXKEY] [index_name] [index_type] (index_column_name,...); 添加多个唯一约束: ALTER TABLE table_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEXKEY] [index_name] [index_type] (index_column_name,...),ADD [CONSTRAINT [symbol]] UNIQUE [INDEXKEY] [index_name] [index_type] (index_column_name,...); 添加外键约束: ALTER TABLE table_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [idnex_name] (index_column_name,...) REFERENCES table_name1(index_column_name); 添加/删除默认约束: ALTER TABLE table_name ALTER [COLUMN] column_name {SET DEFAULT literalDROP DEFAULT} /** CONSTRAINT 可加可不加,加该关键字后还可以选择添加主键别名; 唯一约束可以有多个,但主键约束有且只能有一个; */
    查看全部
  • 约束和数据表的知识点
    查看全部
    0 采集 收起 来源:小结

    2016-07-29

  • 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 [FIRSTAFTER 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.修改数据表 针对字段的操作:添加/删除字段、修改列定义、修改列名称等。 针对约束的操作:添加/删除各种约束 针对数据表的操作:数据表更名(两种方式)
    查看全部

举报

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

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