SQL复习(w3school)笔记

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

时间: 2024-10-11 08:41:26

SQL复习(w3school)笔记的相关文章

SQL Server 2012笔记分享-54:数据库文件管理1

(一)添加文件 可以在线执行,不影响数据库使用 ,如图. 添加完成后,如图所示. 也可以通过脚本的形式来添加,如图. (二)删除文件 可以在线执行,不影响数据库使用 . 只有当文件中的实际使用空间为空时才能被成功执行 . (三)移动文件到不同的磁盘路径下 必须先将数据库脱机,将导致数据库暂时不可用 详情参考:http://msdn.microsoft.com/zh-cn/library/ms345483.aspx 若要将移动数据或日志文件作为计划的重定位的一部分,请执行下列步骤: 1. 运行以下

SQL Server 2012笔记分享-46:如何快速学习T-SQL语句

对于初学者来说,T-SQL语句的编写一直是个难题,初学者还是习惯使用图形界面来做相关的SQL方面的维护工作.但是在一个稍微复杂大型的SQL场景中,如果我们能够快速的掌握和理解SQL语句的编写和使用,那么会使我们的运维工作达到事半功倍的效果. 其实对于SQL server 2012来说,本身就提供了很多途径来帮助初学者获取日常管理任务的对应T-SQL脚本.下面我们来举几个快速获取T-SQL脚本的例子. ================================================

SQL Server 2012笔记分享-38:了解系统数据库

master 数据库 记录 SQL Server 实例的所有系统级信息. master 数据库记录 SQL Server 系统的所有系统级信息.这包括实例范围的元数据(例如登录帐户).端点.链接服务器和系统配置设置.此外,master 数据库还记录了所有其他数据库的存在.数据库文件的位置以及 SQL Server 的初始化信息.因此,如果 master 数据库不可用,则 SQL Server 无法启动.在 SQL Server 中,系统对象不再存储在 master 数据库中,而是存储在 Reso

SQL Server 2012笔记分享-32:性能计数器监控SQL

需求 要求使用windows自带的性能监视器监控SQL的如下对象,并将结果保存便于日后分析. 性能对象:SQL Server databases,计数器:log file(s) size 和 datafile(s) size 性能对象:SQL Server:buffer manager,计数器:page reads/sec 性能对象:SQL Server:memory manager,计数器:total server memory(KB) ============================

SQL Server 2012笔记分享-33:SQL Server profiler跟踪

需求 使用SQL server profiler跟踪当前实例的所有常见活动,并将结果保存到文件中. ================================================================ 开始程序中选择SQL server profiler,如图. 选择文件--新建跟踪,如图. 连接到当前的SQL server实例,如图. 在跟踪属性里面配置跟踪名称.保存到的文件地址.保存到SQL报表.启用跟踪停止时间等,如图. 下图是一个跟踪启动后实时的跟踪情况,如图

SQL Server 2012笔记分享-1:SQL Server版本的演变

SQL是英文Structured Query Language的缩写,意思为结构化查询语言.SQL语言的主要功能就是同各种数据库建立联系,进行沟通.按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言.SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等.目前,绝大多数流行的关系型数据库管理系统,如Oracle, Sybase, Microsoft SQL Server, Access等都采用了SQL语言标准. SQL server版本

SQL Server 2012笔记分享-2:主要服务器组件

SQL server 2012主要包括如下的五大组件 SQL Server数据库引擎 SQL Server 数据库引擎包括数据库引擎(用于存储.处理和保护数据的核心服务).复制.全文搜索.用于管理关系数据和 XML 数据的工具以及 Data Quality Services (DQS) 服务器. 分析服务 Analysis Services 包括用于创建和管理联机分析处理 (OLAP) 以及数据挖掘应用程序的工具. 报表服务 Reporting Services 包括用于创建.管理和部署表格报表

SQL Server 2012笔记分享-3:版本对比

SQL server 2012的版本及版本的概述如下 SQL Server 版本 Enterprise(64 位和 32 位) 提供了全面的高端数据中心功能,性能极为快捷.虚拟化不受限制,还具有端到端的商业智能 - 可为关键任务工作负荷提供较高服务级别,支持最终用户访问深层数据. Business Intelligence(64 位和 32 位) 提供了综合性平台,可支持组织构建和部署安全.可扩展且易于管理的 BI 解决方案. 它提供基于浏览器的数据浏览与可见性等卓越功能.功能强大的数据集成功能

SQL Server 2012笔记分享-4:理解SQL server实例

每个单独的SQL server实例都有一个windows进程:sqlservr.exe,一个windows下能安装多个实例,多个实例会有多个sqlservr.exe进程. 一个SQL实例在后台对应一个服务,如果多个应用程序放在一个实例里,如果某个应用开发的程序有问题,比如死循环,会导致服务停止,从而导致所有数据库无法工作.可以采用多实例分开方式. 一个服务器上可以装多个实例,标准版(16个)和企业版(50个)支持的实例数量不同. SQL server实例的类型 (一)默认实例和命名实例 1.服务

SQL Server 2012笔记分享-5:理解SQLOS

描述 SQLOS是一个单独的应用层,它位于SQLServer数据库引擎的最低层,SQLServer和SQL Reporting Services都是在顶层运行.SQLOS介于windows操作系统和SQL server之间. 为什么开发SQLOS SQLServer的早期版本在存储引擎和实际操作系统之间使用瘦接口层,通过该接口层,SQLServer可以调用操作系统来执行内存分配,计划资源,线程和工作管理,以及同步对象.不过,SQLServer中需要访问这些接口的服务可以位于引擎的任何部分.SQL