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 的ORM 表间操作
Django之ORM表间操作 之前完成了简单的数据库数据增加操作.这次学习更多的表间操作. 单表操作 增加 方式一 b = Book(title="Python基础", pub ...
- 6. Vue - 声明周期
一.官方vue生命周期流程图 二.vue声明周期介绍 beforeCreate执行时:data和el均未初始化,值为undefined created执行时:Vue 实例观察的数据对象data已经配置 ...
- 三、排序算法总结一(冒泡排序,插入排序,选择排序)(C++版本)
一.引言 对于各种排序算法也算是有了一定的了解,所以这里做一个总结. 二.冒泡排序法. 这是比较经典的排序算法,主要是通过内外两层的循环比较,使得乱序变为顺序. 下面是一个测试代码 #include ...
- 【树状数组】2019徐州网络赛 query
(2)首先成倍数对的数量是nlogn级别的,考虑每一对[xL,xR](下标的位置,xL < xR)会对那些询问做出贡献,如果qL <= xL && qR >= xR, ...
- C++ try catch 示例代码
#include<iostream> void f1() { throw std::string("error happen"); } void f2() { try ...
- Shiro内置过滤器
Shiro内置过滤器 DefaultFilter 枚举类定义了shiro所有的默认过滤器. package org.apache.shiro.web.filter.mgt; public enum D ...
- 剑指Offer-17.树的子结构(C++/Java)
题目: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 分析: 注意这道题是判断B是不是A的子结构,而不是子树,这一点要注意下,且空树不是任意一个树的子结构 ...
- aliyun-oss 通过redis来实现跨域上传图片到阿里 OSS并回显进度条
public class PutObjectProgressListener implements ProgressListener { private long bytesWritte ...
- nextjs作为koa中间件的使用
react客户端渲染的缺点:首屏速度慢,对SEO不友好 浏览器请求步骤 客户端跳转 1. ...
- 第04组 Alpha冲刺(5/6)
队名:new game 组长博客:戳 作业博客:戳 组员情况 鲍子涵(队长) 燃尽图 过去两天完成了哪些任务 才两天,也就是实现一些功能而已 复习了一下SuffixAutomata 接下来的计划 实现 ...