SQL基础


1.SQL对大小写不敏感

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

a) DML

  1. SELECT
  2. UPDATE
  3. DELETE
  4. INSERT INTO

b) DDL

  1. CREATE DATABASE
  2. ALTER DATABASE
  3. CREATE TABLE
  4. ALTER TABLE
  5. DROP TABLE
  6. CREATE INDEX
  7. 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) 语法

  1. INSERT INTO table_name VALUES (val1, val2 ...)
  2. 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) 返回记录的条目数(对于有大量数据的表来说,非常有用)

  1. SELECT TOP number|percent column_name(s) FROM table_name
  2. 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

  1. JOIN:表中至少一个匹配,则返回行
  2. LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
  3. RIGHT JOIN:即使左表中没有匹配,也从右表返回所有行
  4. 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

  1. 一个表中的FOREIGN KEY指向另一个表中的PRIMARY KEY
  2. 用于预防破坏表之间连接的动作
  3. 防止非法数据插入外键列,因为它必须是它只想的那个表中的值之一

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函数

  1. NOW() 返回当前日期和时间
  2. CURDATE() 返回当前的日期
  3. CURTIME() 返回当前的时间
  4. DATE() 提起日期或日期/时间表达式的日期部分
  5. EXTRACT() 返回日期/时间的单独部分
  6. DATE_ADD() 给日期添加指定的时间间隔
  7. DATE_SUB() 从日期减去指定的时间间隔
  8. DATEDIFF() 返回两个日期之间的天数
  9. DATE_FORMAT() 用不同格式显示日期/时间

b) SQL Server Date函数

  1. GETDATE() 返回当前日期和时间
  2. DATEPART() 返回日期/时间的单独部分
  3. DATEADD() 在日期中添加或减去指定的时间间隔
  4. DATEDIFF() 返回两个日期之间的时间
  5. CONVERT() 用不同的格式显示日期/时间

c) MySql Date数据类型

  1. DATE YYYY-MM-DD
  2. DATETIME YYYY-MM-DD HH:MM:SS
  3. TIMESTAMP YYYY-MM-DD HH:MM:SS
  4. YEAR YYYY/YY
  5. SQL Server Date数据类型
  6. DATE YYYY-MM-DD
  7. DATETIME YYYY-MM-DD HH:MM:SS
  8. SMALLDATETIME YYYY-MM-DD HH:MM:SS
  9. TIMESTAMP  唯一的数字

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

22.NULL值

a) 测试NULL值

  1. IS NULL
  2. 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)笔记相关推荐

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

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

  2. Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据

    Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据 Oracle PL/SQL 程序设计读书笔记 - 第7章 使用数据 7.1 程序数据的命名 PL/SQL要求在给数据结构命名的时候应 ...

  3. sql 2005学习笔记1

    sql 2005学习笔记1 最近开始看赵松涛的<SQL 2005数据奥秘>,发现是本十分不错的独特的SQL 2005的书,讲了很多深入的东西,现学习之并每次笔记要点之. 1 SQL 200 ...

  4. Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理

    Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理 Oracle PL/SQL 程序设计读书笔记 - 第14章 DML和事务管理 ACID原则:即一个事务具有原子性.一致性. ...

  5. Microsoft SQL Azure论文笔记

    Microsoft SQL Azure 本笔记出自论文<Extreme Scale with Full SQL Language Support in Microsoft SQL Azure&g ...

  6. 数据库原理与应用(SQL Server)笔记 第七章 流程控制语句、系统内置函数

    目录 一.流程控制语句 (一)BEGIN...END语句块 (二)条件语句 (三)循环语句 1.WHILE语句 2.BREAK语句和CONTINUE语句 (四)无条件转移语句 (五)返回语句 (六)等 ...

  7. 数据库原理与应用(SQL Server)笔记 第八章 用户自定义数据类型与变量

    前言 以下皆使用T-SQL语句的方式来执行语句,使用图形界面方式不再累赘. 一.用户定义数据类型 (一) CREATE TYPE 语句 1.CREATE TYPE语句 下面介绍使用T-SQL语句,创建 ...

  8. 探针一号的SQL注入学习笔记

    SQL注入学习笔记 文章目录 SQL注入学习笔记 1.问题 2.sqlilabs环境配置 3.第一个注入过程详解(整型注入) 4.跨库注入 5.字符型注入 5.报错注入 6.POST和COOKIE请求 ...

  9. SQL Server个人笔记(1)

    SQL Server个人笔记1 s0320 –SQLServer 行转列(把自定义表的内容字段 先获取 再把数据储存在数据库指定的表中) t.d.a 为对应的虚拟表 // select * from ...

  10. Day2-Mybatis之sql复习

    ** Day2-Mybatis之sql复习 ** 一. Day2-Mybatis之sql复习 函数 Sql操作 多表关系 多表查询 (一) Mysql安装与卸载 安装MySQL时候有两个程序目录,一个 ...

最新文章

  1. 40 个 SpringBoot 常用的注解,你知道几个?
  2. 有三AI知识星球官宣,BAT等大咖等你来撩
  3. 第十四期:5 个 JS 不良编码习惯,你占几个呢?
  4. c++20 协程 图片识别框架 紫丁香
  5. vs2008补丁发布
  6. vs2008/vs2010新手快速入门必读教程
  7. mysql中修改表字段的类型长度_mysql中修改表字段名/字段长度/字段类型详解
  8. 计算机电源带不起来,电脑电源不稳定的表现有哪些_电脑电源带不动的症状
  9. 几何分布的期望和方差公式推导_机器学习常用的方差、协方差与皮尔逊值
  10. 10种舒服的颜色及配色推荐
  11. python控件布局常用三种方法_控件布局
  12. Android 设备兼容-[Android_YangKe]
  13. 编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary
  14. 微信小程序-调查问卷
  15. UTF-8和utf8的区别
  16. linux基础操作之三
  17. 每日一结(11.1)
  18. 使用Perl编写协议分析脚本 z
  19. 服务器微信了早上好,微信早晨好问候语句动态图片 早上好发给朋友的微信早安问候语简短...
  20. 求购(计算机专业自考本科书籍一套080901)

热门文章

  1. 一个农场有头母牛,现在母牛才一岁,要到四岁才能生小牛,四岁之后,每年生一头小牛,n年后有多少头小牛
  2. C#项目开发系统开发进度-第X组-xxx(简单)
  3. SpringSpringMVCMybatis框架-张晨光-专题视频课程
  4. 《剑指offer》字符流中第一个不重复的字符
  5. 有向图的深度和广度遍历
  6. Facebook经典CTR预估模型
  7. jvm系列(四):jvm调优-命令篇
  8. javaweb学习总结(二十):JavaBean总结
  9. 使用Bootstrap制作导航栏
  10. css position left 50%