ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL-2

2022-04-01 12:34:26  阅读:182  来源: 互联网

标签:runoob author user MySQL WHERE SELECT tbl


MySQL 引号

MySQL里引用字符串常量时需要用一堆英文单引号 ' 或英文双引号 " 讲字符串常量括起来

数据库查询

SELECT * FROM user WHERE DATABASE()="practice" LIMIT 1 OFFSET 2;

SELECT * FROM user WHERE DATABASE()="practice" LIMIT 2, 1;

LIMIT

LIMIT X, Y中X表示跳过X个数据,读取Y个数据
LIMIT Y表示选取Y个数据

OFFSET

OFFSET X表示跳过X个数据


WHERE 字句

SELECT * FROM user WHERE username="hello" AND password <> "world";

UPDATE 更新

UPDATE user SET username="hello", password="world!" WHERE DATABASE()="practice" AND username="hello" AND password="world";

DELETE 语句

DELETE FROM user WHERE username="" AND password="";

DELETE、TRUNCATE和DROP的区别

DROP > TRUNCATE > DELETE

DELETE

  • delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表空间要足够大,需要手动提交才能生效
  • delete可根据条件删除表中满足条件的数据,如果不指定where字句,那么删除表中所有记录
  • delete语句不影响表所占用的extent,高水线(high watermark)保持原位置不变

TRUNCATE

  • TRUNCATE是DDL,会隐式提交,所以不会回滚,不会触发触发器
  • 会删除表中所有记录,并且重新设置高水线和所有的索引
  • 对于外键约束引用的表,不能用truncate table,而应使用不带WHERE字句的DELETE语句
  • 不能用于参与了索引视图的表

DROP

  • DROP是DDL,会隐式提交,所以,不能回滚,不会触发触发器。
  • drop语句删除表结构及所有数据,并将表所占用的空间全部释放。
  • drop语句将删除表的结构所依赖的约束,触发器,索引,依赖于该表的存储过程/函数将保留,但是变为invalid状态

LIKE 语句

SELECT * FROM user WHERE password LIKE "%2%";

UNION 语句

SELECT country FROM apps WHERE id=1 UNION DISTINCT SELECT country FROM websites WHERE id=1;

MySQL 排序

SELECT * FROM user ORDER BY password ASC;

SELECT * FROM user ORDER BY password DESC;

MySQL 分组

SELECT name, COUNT(name) from employee_tbl GROUP BY name, signin;

Coalesce(a, b, c)

SELECT COALESCE(name, "总数") as "姓名", COUNT(signin) FROM employee_tbl GROUP BY name WITH ROLLUP;

MySQL 连接的使用

INNER JOIN

内连接,或等值连接。
获取两个表中字段匹配关系的记录。

SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl AS a INNER JOIN tcount_tbl AS b ON a.runoob_author = b.runoob_author;

LEFT JOIN

左连接
获取左表所有记录,即使右表没有对应匹配的记录。

SELECT a.runoob_id, a.runoob_title, b.runoob_count, b.runoob_author FROM RUNOOB_TBL AS a LEFT JOIN tcount_tbl AS b ON a.runoob_author = b.runoob_author;

RIGHT JOIN

右连接
与左连接相反,用于获取右表所有记录,即使左表没有对应匹配的记录。

SELECT a.runoob_id, a.runoob_title, b.runoob_author, b.runoob_count FROM runoob_tbl AS a RIGHT JOIN tcount_tbl AS b ON a.runoob_author = b.runoob_author;

标签:runoob,author,user,MySQL,WHERE,SELECT,tbl
来源: https://www.cnblogs.com/amazingman113/p/16086249.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有