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函数
24.数据类型http://www.w3school.com.cn/sql/sql_datatypes.asp
25.SQL服务器-RDBMS
转载于:https://www.cnblogs.com/andriy2012/p/5455713.html
SQL复习(w3school)笔记相关推荐
- Java基础复习总结笔记(上)
前言 对Java部分基础知识进行复习总结,没事可以看看. 目录 一.基础语法 1.1 Java名词 1.2 Java关键字 1.3 基本数据类型(4类8种) (1)整数类型 (2)浮点类型 (3)字符 ...
- Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据
Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据 Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据 7.1 程序数据的命名 PL/SQL要求在给数据结构命名的时候应 ...
- sql 2005学习笔记1
sql 2005学习笔记1 最近开始看赵松涛的<SQL 2005数据奥秘>,发现是本十分不错的独特的SQL 2005的书,讲了很多深入的东西,现学习之并每次笔记要点之. 1 SQL 200 ...
- Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理
Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理 Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理 ACID原则:即一个事务具有原子性.一致性. ...
- Microsoft SQL Azure论文笔记
Microsoft SQL Azure 本笔记出自论文<Extreme Scale with Full SQL Language Support in Microsoft SQL Azure&g ...
- 数据库原理与应用(SQL Server)笔记 第七章 流程控制语句、系统内置函数
目录 一.流程控制语句 (一)BEGIN...END语句块 (二)条件语句 (三)循环语句 1.WHILE语句 2.BREAK语句和CONTINUE语句 (四)无条件转移语句 (五)返回语句 (六)等 ...
- 数据库原理与应用(SQL Server)笔记 第八章 用户自定义数据类型与变量
前言 以下皆使用T-SQL语句的方式来执行语句,使用图形界面方式不再累赘. 一.用户定义数据类型 (一) CREATE TYPE 语句 1.CREATE TYPE语句 下面介绍使用T-SQL语句,创建 ...
- 探针一号的SQL注入学习笔记
SQL注入学习笔记 文章目录 SQL注入学习笔记 1.问题 2.sqlilabs环境配置 3.第一个注入过程详解(整型注入) 4.跨库注入 5.字符型注入 5.报错注入 6.POST和COOKIE请求 ...
- SQL Server个人笔记(1)
SQL Server个人笔记1 s0320 –SQLServer 行转列(把自定义表的内容字段 先获取 再把数据储存在数据库指定的表中) t.d.a 为对应的虚拟表 // select * from ...
- Day2-Mybatis之sql复习
** Day2-Mybatis之sql复习 ** 一. Day2-Mybatis之sql复习 函数 Sql操作 多表关系 多表查询 (一) Mysql安装与卸载 安装MySQL时候有两个程序目录,一个 ...
最新文章
- 40 个 SpringBoot 常用的注解,你知道几个?
- 有三AI知识星球官宣,BAT等大咖等你来撩
- 第十四期:5 个 JS 不良编码习惯,你占几个呢?
- c++20 协程 图片识别框架 紫丁香
- vs2008补丁发布
- vs2008/vs2010新手快速入门必读教程
- mysql中修改表字段的类型长度_mysql中修改表字段名/字段长度/字段类型详解
- 计算机电源带不起来,电脑电源不稳定的表现有哪些_电脑电源带不动的症状
- 几何分布的期望和方差公式推导_机器学习常用的方差、协方差与皮尔逊值
- 10种舒服的颜色及配色推荐
- python控件布局常用三种方法_控件布局
- Android 设备兼容-[Android_YangKe]
- 编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary
- 微信小程序-调查问卷
- UTF-8和utf8的区别
- linux基础操作之三
- 每日一结(11.1)
- 使用Perl编写协议分析脚本 z
- 服务器微信了早上好,微信早晨好问候语句动态图片 早上好发给朋友的微信早安问候语简短...
- 求购(计算机专业自考本科书籍一套080901)
热门文章
- 一个农场有头母牛,现在母牛才一岁,要到四岁才能生小牛,四岁之后,每年生一头小牛,n年后有多少头小牛
- C#项目开发系统开发进度-第X组-xxx(简单)
- SpringSpringMVCMybatis框架-张晨光-专题视频课程
- 《剑指offer》字符流中第一个不重复的字符
- 有向图的深度和广度遍历
- Facebook经典CTR预估模型
- jvm系列(四):jvm调优-命令篇
- javaweb学习总结(二十):JavaBean总结
- 使用Bootstrap制作导航栏
- css position left 50%