mysql sql w3cschool_SQL复习(w3school)笔记
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)笔记相关推荐
- SQL学习计划-SQL语法复习笔记
SQL学习计划知识点笔记 起因 补充官方文档的连接 目录格式 SQL基础语法篇 [DELETE Statement](https://dev.mysql.com/doc/refman/8.0/en/d ...
- MySQL数据库基础到进阶笔记整理包含事务、SQL优化、锁等内容
写在前面 本文是在学习MySQL数据库时整理的笔记,可供初学者学习 是在https://dhc.pythonanywhere.com/entry/share/?key=12e4a7324f68371d ...
- Java基础复习总结笔记(上)
前言 对Java部分基础知识进行复习总结,没事可以看看. 目录 一.基础语法 1.1 Java名词 1.2 Java关键字 1.3 基本数据类型(4类8种) (1)整数类型 (2)浮点类型 (3)字符 ...
- SQL数据库教程-学习笔记2
SQL数据库教程-学习笔记2 文章目录 SQL数据库教程-学习笔记2 三.DML语言的学习 1.插入语句:insert into 2.修改语句:update 3.删除语句:delete 4.练习题 四 ...
- mybatisplus执行sql语句_[MySQL]sql语句的执行流程
此篇极客时间专栏<MySQL实战45讲>笔记,文中部分图文来自该专栏. MySQL的执行流程示意图: 大体来说,MySQL可以分为Server层和存储引擎层两部分. Server层包括连接 ...
- SQL常用用法相关笔记
SQL常用用法相关笔记 1).----CAST和CONVERT的用法 SQL中的cast和convert都是用来将一种数据类型的表达式转换为另一种数据类型的表达式. CAST和CONVERT提供相似的 ...
- MySQL必知必会笔记(一)基础知识和基本操作
第一章 了解MySQL 数据库 保存有组织的数据的容器.(通常是一个文件或一组文件) 人们经常使用数据库这个术语代替他们使用的软件.这是不正确的,确切的说,数据库软件应称为DBM ...
- MySQL实战45讲学习笔记
文章目录 MySQL实战45讲-学习笔记 01 基础架构:一条SQL查询语句是如何执行的? mysql逻辑架构 连接器 查询缓存 分析器 优化器 执行器 02 日志系统:一条SQL更新语句如何执行 r ...
- Mysql - 百万级数据查询优化笔记 (PHP Script) ②
Mysql - 百万级数据查询优化笔记 (PHP Script) ② 说明:要处理的是在一个脚本中统计的年度账单,和上一篇的处理思路完全 不同,先把全量取出,再按字典形式拼接,10w条数据只需要668 ...
最新文章
- 微软的研发思路发生改变了 Visual Studio 2012 Update 1抢先看
- myeclipse设置
- tar -xf_青铜表选什么?不可错过的XF帝舵碧湾小铜盾
- jmeter mysql驱动jar包_用 Jmeter 做 Web 接口测试
- Windows环境下基于python3 + selenium构建网络爬虫
- ndroid中View.inflate()
- Android Studio打包Android Library为jar方案
- SharePoint PowerShell使用Export-SPWeb和Import-SPWeb指令来导出和导入网站
- JAVA操作文件大全(二)
- 推荐30款最佳的数据可视化工具
- 在RedHat5中实现透明代理
- 【C语言进阶】C语言实现通讯录(简易版)
- 虚拟机您的计算机无法启动,一键解决win10虚拟机无法启动的问题
- forge不能用java打开_我玩我的世界把java更新了以后,就再也进不了加了forge的版本了,启动器,游戏,forge都重...
- 时序动作定位 | I3D(Inflated 3D ConvNet) 与 UNT(UntrimmedNets) 特征模型
- 选择合适的 Go 字符串拼接方式
- 新版天猫刷红包js代码以及使用方式增加砸金砖代码
- 生物基础-多组学联合分析
- onenote同时移动图片和绘图
- 人工智能背景下的Office 365现状和发展趋势
热门文章
- 2022-2028年中国玻璃纤维毡热塑性塑料(GMT)行业市场研究及前瞻分析报告
- 浅显易懂 Makefile 入门 (02)— 普通变量和自动变量定义、使用($@、$^、$< 作用)、变量覆盖 override、变量的来源 origin
- Linux shell 学习笔记(15)— shell 正则表达式
- GPT3后可考虑的方向-知识推理与决策任务及多模态的信息处理
- 预见未来丨机器学习:未来十年研究热点
- PyTorch入门学习(二):Autogard之自动求梯度
- 在 CUDA C/C++ kernel中使用内存
- 基于自动驾驶车辆的NVIDIA-TensorRT推理实时优化
- CVPR2020论文解读:三维语义分割3D Semantic Segmentation
- Mysql悲观锁以及乐观锁案例说明