SQL基础

1.SQL对大小写不敏感

2.DML(数据操作语言)与DDL(数据定义语言)

a) DML

SELECT

UPDATE

DELETE

INSERT INTO

b) DDL

CREATE DATABASE

ALTER DATABASE

CREATE TABLE

ALTER TABLE

DROP TABLE

CREATE INDEX

DROP INDEX

3.DISTINCT:去除重复值

a) SELECT DISTINCT 列名FROM表名

4.WHERE子句

a) 值得注意的运算符 BETWEEN, LIKE

b) 文本值使用单引号,数值不用

5.ORDER BY字句

a) DESC 降序

b) ASC 升序

6.INSERT INTO语句

a) 语法

INSERT INTO table_name VALUES (val1, val2 ...)

INSERT INTO table_name(column1, column2...) VALUES (val1, val2 ...)

7.UPDATE语句

a) 语法: UPDATE表名SET列名=新值WHERE列名=某值

8.DELETE语句

a) 语法:DELETE FROM表名WHERE列名=值

b) 删除所有行 DELETE FROM table_name

SQL高级

1.TOP字句(MySQL为Limit)

a) 返回记录的条目数(对于有大量数据的表来说,非常有用)

SELECT TOP number|percent column_name(s) FROM table_name

SELECT column_name(s) FROM table_name LIMIT number

2.通配符

a) % 替代一个或多个字符

b) _替代一个字符

c) [charlist]字符列中的任何单一字符

d) [^charlist]或[!charlist]不在字符列中的任何单一字符

3.IN操作符

a) 允许我们在WHERE子句中规定多个值

b) SELECT column_name(s) FROM table_name WHERE column_name IN (val1, val2...)

4.BETWEEN操作符

a) 选取介于两个值之间的数据范围

5.Alias(别名)

a) 表别名 SELECT column_name(s) FROM table_name AS alias_name

b) 列别名 SELECT column_names AS alias_name FROM table_name

6.JOIN

a) 用于根据两个或多个表中的列之间的关系,从这些表中查询数据

b) 几种SQL JOIN

JOIN:表中至少一个匹配,则返回行

LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行

RIGHT JOIN:即使左表中没有匹配,也从右表返回所有行

FULL JOIN:只要其中一个表中存在匹配,就返回行

7.INNER JOIN(与JOIN相同)

a) SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON table_name1.column_name = table_name2.column_name

8.LEFT JOIN

a) SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name = table_name2.column_name

b) 左表所有行会被列出

9.RIGHT JOIN

a) SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name = table_name2.column_name

b) 右表所有行会被列出

10.FULL JOIN

a) SELECT column_name(s) FROM table_name1 FULL JOIN table_name2 ON table_name1.column_name = table_name2.column_name

b) 只要存在匹配就会返回行

11.UNION操作符

a) 用于合并两个或多个SELECT语句的结果集(必须用相同数量的列,列必须拥有相似的数据类型,且列的顺序必须相同)

b) SELECT column_name(s) FROM table_name1

UNION

SELECT column_name(s) FROM table_name2

c) UNION ALL 会列出重复值

12.SELECT INTO

a) 从一个表中选取数据,然后插入另一个表中

b) 常用于创建表的备份复件或者用于对记录进行存档

c) SELECT * INTO new_table_name [IN externaldatabase] FROM old_tablename

13.CREATE DATABASE database_name

14.CREATE TABLE

a) CREATE TABLE 表名

(

列名1数据类型,

列名2数据类型,

……

)

15.约束Constraints

a) NOT NULL 不接受NULL值

b) UNIQUE 唯一(可以有多个UNIQUE约束)

c) PRIMARY KEY(主键)仅有一个

d) FOREIGN KEY

一个表中的FOREIGN KEY指向另一个表中的PRIMARY KEY

用于预防破坏表之间连接的动作

防止非法数据插入外键列,因为它必须是它只想的那个表中的值之一

e) CHECK 用于限制列中的值得范围

f) DEFAULT 用于向列中插入默认值

16.CREATE INDEX 在表中创建索引

a) 索引:在不读取整个表的情况下,使数据库应用程序可以更快地查找数据

b) 更新含有索引的表,更费时,所以合理的做法是静静在常被搜索的列(及表)上面创建索引

c) CREATE INDEX index_name ON table_name(column_name)

d) 唯一索引(两个列不能拥有相同索引值)CREATE UNIQUE INDEX index_name ON table_name(column_name)

17.DROP 删除索引、表和数据库

18.TRUNCATE TABLE 仅删除表内容不删除表

19.AUTO INCREMENT

20.VIEW(视图)基于SQL语句的结果集的可视化的表

21.Date函数

a) MySQL Date函数

NOW() 返回当前日期和时间

CURDATE() 返回当前的日期

CURTIME() 返回当前的时间

DATE() 提起日期或日期/时间表达式的日期部分

EXTRACT() 返回日期/时间的单独部分

DATE_ADD() 给日期添加指定的时间间隔

DATE_SUB() 从日期减去指定的时间间隔

DATEDIFF() 返回两个日期之间的天数

DATE_FORMAT() 用不同格式显示日期/时间

b) SQL Server Date函数

GETDATE() 返回当前日期和时间

DATEPART() 返回日期/时间的单独部分

DATEADD() 在日期中添加或减去指定的时间间隔

DATEDIFF() 返回两个日期之间的时间

CONVERT() 用不同的格式显示日期/时间

c) MySql Date数据类型

DATE YYYY-MM-DD

DATETIME YYYY-MM-DD HH:MM:SS

TIMESTAMP YYYY-MM-DD HH:MM:SS

YEAR YYYY/YY

SQL Server Date数据类型

DATE YYYY-MM-DD

DATETIME YYYY-MM-DD HH:MM:SS

SMALLDATETIME YYYY-MM-DD HH:MM:SS

TIMESTAMP  唯一的数字

d) 如果您希望使查询简单且更易维护,那么请不要在日期中使用时间部分!

22.NULL值

a) 测试NULL值

IS NULL

IS NOT NULL

23.NULL函数

a) MySQL用IFNULL和COALESCE函数

25.SQL服务器-RDBMS

mysql sql w3cschool_SQL复习(w3school)笔记相关推荐

  1. SQL学习计划-SQL语法复习笔记

    SQL学习计划知识点笔记 起因 补充官方文档的连接 目录格式 SQL基础语法篇 [DELETE Statement](https://dev.mysql.com/doc/refman/8.0/en/d ...

  2. MySQL数据库基础到进阶笔记整理包含事务、SQL优化、锁等内容

    写在前面 本文是在学习MySQL数据库时整理的笔记,可供初学者学习 是在https://dhc.pythonanywhere.com/entry/share/?key=12e4a7324f68371d ...

  3. Java基础复习总结笔记(上)

    前言 对Java部分基础知识进行复习总结,没事可以看看. 目录 一.基础语法 1.1 Java名词 1.2 Java关键字 1.3 基本数据类型(4类8种) (1)整数类型 (2)浮点类型 (3)字符 ...

  4. SQL数据库教程-学习笔记2

    SQL数据库教程-学习笔记2 文章目录 SQL数据库教程-学习笔记2 三.DML语言的学习 1.插入语句:insert into 2.修改语句:update 3.删除语句:delete 4.练习题 四 ...

  5. mybatisplus执行sql语句_[MySQL]sql语句的执行流程

    此篇极客时间专栏<MySQL实战45讲>笔记,文中部分图文来自该专栏. MySQL的执行流程示意图: 大体来说,MySQL可以分为Server层和存储引擎层两部分. Server层包括连接 ...

  6. SQL常用用法相关笔记

    SQL常用用法相关笔记 1).----CAST和CONVERT的用法 SQL中的cast和convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式. CAST和CONVERT提供相似的 ...

  7. MySQL必知必会笔记(一)基础知识和基本操作

    第一章  了解MySQL     数据库       保存有组织的数据的容器.(通常是一个文件或一组文件) 人们经常使用数据库这个术语代替他们使用的软件.这是不正确的,确切的说,数据库软件应称为DBM ...

  8. MySQL实战45讲学习笔记

    文章目录 MySQL实战45讲-学习笔记 01 基础架构:一条SQL查询语句是如何执行的? mysql逻辑架构 连接器 查询缓存 分析器 优化器 执行器 02 日志系统:一条SQL更新语句如何执行 r ...

  9. Mysql - 百万级数据查询优化笔记 (PHP Script) ②

    Mysql - 百万级数据查询优化笔记 (PHP Script) ② 说明:要处理的是在一个脚本中统计的年度账单,和上一篇的处理思路完全 不同,先把全量取出,再按字典形式拼接,10w条数据只需要668 ...

最新文章

  1. 微软的研发思路发生改变了 Visual Studio 2012 Update 1抢先看
  2. myeclipse设置
  3. tar -xf_青铜表选什么?不可错过的XF帝舵碧湾小铜盾
  4. jmeter mysql驱动jar包_用 Jmeter 做 Web 接口测试
  5. Windows环境下基于python3 + selenium构建网络爬虫
  6. ndroid中View.inflate()
  7. Android Studio打包Android Library为jar方案
  8. SharePoint PowerShell使用Export-SPWeb和Import-SPWeb指令来导出和导入网站
  9. JAVA操作文件大全(二)
  10. 推荐30款最佳的数据可视化工具
  11. 在RedHat5中实现透明代理
  12. 【C语言进阶】C语言实现通讯录(简易版)
  13. 虚拟机您的计算机无法启动,一键解决win10虚拟机无法启动的问题
  14. forge不能用java打开_我玩我的世界把java更新了以后,就再也进不了加了forge的版本了,启动器,游戏,forge都重...
  15. 时序动作定位 | I3D(Inflated 3D ConvNet) 与 UNT(UntrimmedNets) 特征模型
  16. 选择合适的 Go 字符串拼接方式
  17. 新版天猫刷红包js代码以及使用方式增加砸金砖代码
  18. 生物基础-多组学联合分析
  19. onenote同时移动图片和绘图
  20. 人工智能背景下的Office 365现状和发展趋势

热门文章

  1. 2022-2028年中国玻璃纤维毡热塑性塑料(GMT)行业市场研究及前瞻分析报告
  2. 浅显易懂 Makefile 入门 (02)— 普通变量和自动变量定义、使用($@、$^、$< 作用)、变量覆盖 override、变量的来源 origin
  3. Linux shell 学习笔记(15)— shell 正则表达式
  4. GPT3后可考虑的方向-知识推理与决策任务及多模态的信息处理
  5. 预见未来丨机器学习:未来十年研究热点
  6. PyTorch入门学习(二):Autogard之自动求梯度
  7. 在 CUDA C/C++ kernel中使用内存
  8. 基于自动驾驶车辆的NVIDIA-TensorRT推理实时优化
  9. CVPR2020论文解读:三维语义分割3D Semantic Segmentation
  10. Mysql悲观锁以及乐观锁案例说明