SQL Server学习内容(一)
SQL Server
SQL Server对大小写不敏感,每条语句末端使用分号。
1.SQL命令
SELECT 从数据中提取数据
UPDATE 更新数据中的数据
DELETE 从数据库中删除数据
INSERT INTO 向数据库中插入新数据
CREATE DATABASE 创建新数据库
ALTER DATABASE 修改数据库
CREATE TABLE 创建新表
ALTER TABLE 变更(改变)数据库表
DROP TABLE 删除表
CREATE INDEX 创建索引(搜索键)
DROP INDEX 删除索引
2.语法:
SELECT语句 用于从数据库中抽取数据,结果存储在一个结果表中,称为结果集。
SELECT column_name,column_name FROM table_name;(抽取指定列)
与
SELECT * FROM table_name;(抽取所有列)SELECT DISTINCT column_name,column_name FROM table_name;
SELECT DISTINCT语句用于返回唯一不同的值,没有重复项。SELECT column_name,column_name FROM table_name
WHERE column_name operator value;
(WHERE子句用于过滤记录)
WHERE子句中的运算符
AND & OR
ORDER BY 用于对结果集进行排序。
ORDER BY关键字用于对结果集按照一个列或者多个列进行排序,默认按照升序对记录进行排序,如需使用降序,需要使用DESC关键字。
SELECT column_name,column_name FROM table_name
ORDER BY column_name,column_name ASC|DESC;
ASC 表示升序;DESC 表示降序;
INSERT INTO用于向表中插入新记录
不指定要插入数据的列名,只提供被插入的值
INSERT INTO table_name
VALUES (values1,values2,values3,...);
此时需要列出插入行的每一列数据指定列名及插入的值
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
UPDATE语句,用于更新表中的记录
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
注意:如果省略WHERE语句,则将会对表中该列所有内容赋该值。
DELETE语句:用于删除表中数据
DELETE FROM table_name
WHERE some_column=some_value;
DELETE FROM table_name;
或
DELETE * FROM table_name;
在不删除表的情况下删除所有的行,表的结构、属性、索引保持不变。
SELECT TOP语句:用于规定要返回的记录的数目,更适用于拥有数千条记录的大型表
LIMIT, ROWNUM
SELECT TOP number|percent column_name(s)
FROM table_name;
实例:
SELECT * FROM table_name LIMIT NUMBER;
表示,从“table_name”表中选取number条记录。
LIKE操作符:用于在WHERE子句中搜索指定列中的指定模式
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern;
通配符:可用于替代字符串中的任何其他字符。与LIKE操作符一起使用
| 通配符 | 描述 |
|---|---|
| % | 替代0个或多个字符 |
| _ | 替代一个字符 |
| [charlist] | 字符列中的任何单一字符 |
| [^charlist]或[!charlist] | 不在字符列中的任何单一字符 |
%:
SELECT * FROM Websites WHERE url LIKE 'https%';
SELECT * FROM Websites WHERE url LIKE '%OO%';
_:
SELECT * FROM Websites WHERE name LIKE '_oogle';
SELECT * FROM Websites WHERE name LIKE 'G_o_le';
[charlist]:
SELECT * FROM Websites WHERE name REGEXP '^[GFs]';
选取name以“G”、“F”或“s”开始的所有网站
使用REGEXP或NOT REGEXP运算符(或RLIKE和NOT RLIKE)来操作正则表达式。
SELECT * FROM Websites WHERE name REGEXP '^[A-H]';
选取 name 以 A 到 H 字母开头的网站
[^charlist]或[!charlist]:
SELECT * FROM Websites WHERE name REGEXP '^[^A-H]';
选取 name 不以 A 到 H 字母开头的网站.
IN操作符
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);BETWEEN操作符
BETWEEN操作符选取介于两个值之间的数据范围内的值,这些值可以是数值、文本或者日期。
BETWEEN
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;NOT BETWEEN
如需要显示不在范围内的数据,使用NOT BETWEEN:
SELECT column_name(s)
FROM table_name
WHERE column_name NOT BETWEEN value1 and value2;带有IN的BETWEEN操作符实例
SELECT column_name(s)
FROM table_name
WHERE (column_name BETWEEN value1 and value2)
AND column_name IN ('value1', 'value2');带有文本值的需要在文本值上加上单引号' '。
SQL别名
通过使用SQL,可以为表名称或列名称指定别名。基本上,创建别名是为了让列名称的可读性更强。
列的SQL别名语法
SELECT column_name1 AS alias_name,column_name2 AS alias_name
FROM table_name;可以把多个列合起来作为一个列使用别名语法
SELECT CONCAT(column_name1,','column_name2,',',column_name3) AS alias_name
FROM table_name;表的SQL别名语法
SELECT column_name(s)
FROM table_name AS alias_name;在以下情况中,使用别名用处更大:
在查询中涉及超过一个表
在查询中使用了函数
列名称很长或者可读性差
需要把两个列或者多个列结合在一起
SQL连接(JOIN)
SQL JOIN用于把来自两个或多个表的行结合起来,基于这些表

其他
文本字段用单引号环绕,数值字段不需要
SQL Server学习内容(一)的更多相关文章
- SQL server学习
慕课网sql server学习 数据库第一印象:desktop--web server--database server** 几大数据库:sql server.oracle database.DB2. ...
- SQL server学习(三)T-SQL编程、逻辑控制语句和安全模式
T-SQL编程 T-SQL编程与C语言类似,只是语法稍有不同而已,总体思想还是没有变化的.多的就不说了,还是从变量开始. 变量也分为全局变量和局部变量,表示方式稍有不同. 局部变量: 局部变量必须以标 ...
- SQL Server 学习博客分享列表(应用式学习 + 深入理解)
SQL Server 学习博客分享列表(应用式学习 + 深入理解) 转自:https://blog.csdn.net/tianjing0805/article/details/75047574 SQL ...
- sql server学习路径地址
联机丛书2005:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2005/ms130214(v=sql.90) 联 ...
- SQL Server 学习系列之六
SQL Server 学习系列之六 SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL 关键字) SQ ...
- SQL Server 学习系列之五
SQL Server 学习系列之五 SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL 关键字) SQ ...
- SQL Server 学习系列之四(SQL 内幕)
SQL Server 学习系列之四(SQL 内幕) SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) SQL Server 学习系列之三(SQL ...
- 【SQL Server 学习系列】-- sql 随机生成中文名字
原文:[SQL Server 学习系列]-- sql 随机生成中文名字 ,) )) -- 姓氏 ,) )) -- 名字 INSERT @fName VALUES ('赵'),('钱'),('孙'),( ...
- 【SQL Server学习笔记】Delete 语句、Output 子句、Merge语句
原文:[SQL Server学习笔记]Delete 语句.Output 子句.Merge语句 DELETE语句 --建表 select * into distribution from sys.obj ...
随机推荐
- Django框架(二十四)-- Django rest_framework-路由控制与响应器
一.路由控制 # 1.基本路由: url(r'^publish/$', views.PublishView.as_view()), # 2.半自动路径:views.PublishView.as_vie ...
- 08 在设备树里描述platform_device【转】
转自:https://blog.csdn.net/jklinux/article/details/78575281 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原 ...
- C++中的异常处理(下)
array.h #ifndef _ARRAY_H_ #define _ARRAY_H_ #include <stdexcept> using namespace std; template ...
- SpringCloud学习笔记(九、SpringCloud Stream)
目录: 什么是SpringCloud Stream 如何使用SpringCloud Stream 消息分流 什么是SpringCloud Stream: SpringCloud Stream是一个用于 ...
- Python equivalent of D3.js
http://brandonrose.org/ Python equivalent of D3.js Ask Question Asked 7 years, 1 month ago Act ...
- CF1225A Forgetting Things
CF1225A Forgetting Things 洛谷评测传送门 题目描述 Kolya is very absent-minded. Today his math teacher asked him ...
- JAVA多线程间隔时间段执行方法
import java.util.Date; import java.util.Timer; import java.util.TimerTask; public class ManyProject ...
- 《阿里如何实现秒级百万TPS?搜索离线大数据平台架构解读》--阅读
离线?在阿里搜索工程体系中我们把搜索引擎.在线算分.SearchPlanner等ms级响应用户请求的服务称之为“在线”服务:与之相对应的,将各种来源数据转换处理后送入搜索引擎等“在线”服务的系统统称为 ...
- 【PL/SQL】设置F8自动运行
- 为了Runtime Broke 关了一堆东西
可是,好像还是不行啊?CPU还是用了 10-20% 还得写这个随笔,怕自己关东西关多了,以后还得回复. https://www.drivereasy.com/knowledge/runtime-bro ...