sql server操作案例

本文涉及的产品
云数据库 RDS SQL Server,独享型 2核4GB
简介: 1

今天没事做,总结了下sql server的些知识:

--创建表
CREATE TABLE users
(
  id INT ,
  name VARCHAR(50),
  age INT
)
--添加数据
SELECT * FROM users
INSERT INTO users VALUES(2,'张三1',13);
INSERT INTO users VALUES(4,'王五',12,'山西省吕梁市',DEFAULT);   --默认性别是男,年龄必须大于0小于100
--创建一个Student表
CREATE TABLE student
(
  id INT ,
  name VARCHAR(50),
  age VARCHAR(50)
)
--将users表中的id name age 查询出来之后放在student表里面,其中student已经事先存在了
INSERT INTO student(id,name,age) SELECT id,name,age FROM users ;
SELECT * FROM student;
--将users表中的id name age address 查询出来放在新表studentinfo中,其中studentinfo事先不存在
SELECT id,name,age,address INTO studentinfo FROM users;
SELECT * FROM studentinfo;
--给studetninfo表里面一次插入多条记录
INSERT INTO studentinfo VALUES(5,'张无',45,'山东省济南市'),
(6,'张无1',45,'山东省济南市1'),
(7,'张无2',42,'山东省济南市2'),
(9,'张无3',78,'山东省济南市3')
SELECT * FROM studentinfo;
--修改users的信息,将张三的性别修改成女
SELECT * FROM users;
UPDATE users set sex='女' WHERE name='张三'
--删除张三1
DELETE FROM users WHERE name='张三1'
--查询
--使用别名AS
SELECT id AS '编号',name AS '姓名',age AS '年龄' FROM users
--使用别名.
SELECT id  '编号',name  '姓名',age  '年龄' FROM users
--合并两列数据
SELECT name+'.'+address FROM studentinfo;
--查询空行
INSERT INTO users (id,name,age) VALUES(5,'王宝宝',15);
SELECT * FROM users;
SELECT * FROM users WHERE address is null;
--查询前3行
SELECT top 2 * FROM users;
--按照百分数查询
SELECT top 10 percent * FROM users;
--按年龄排序(升序),编号降序
SELECT * FROM users order by age ASc,id desc;
--查询m在My Jbns Course里面出现的位置
SELECT CHARINDEX('m','My Jbns Course')
--查询My Jbns Course的长度
SELECT len('My Jbns Course')
--把传递给他的字符串转换成大写
SELECT UPPER('my is father');
--清除字符左边的空格
SELECT ltrim('     你是谁      ')
--清除字符右边的空格
SELECT rtrim(' 你是谁      ')
--从字符串右边返回指定的字符,4代表截取几个字符
SELECT RIGHT('买卖提5吐尔松',4)
--替换一个字符串中的字符:把(我)替换成(你)
SELECT replace('我是谁','我','你')
--在一个字符串中,删除指定长度的字符,并在改位置插入一个新字符,1是从第一个开始,5是截取5个
SELECT stuff('abcdefg',1,5,'明朝的皇帝是谁?')
--日期函数
--取得系统当前的日期
SELECT getdate()
--将指定的数值添加到指定的日期部分后的日期(yy:年,mm:月,dd:日,5代表加的数字)
SELECT DATEADD(yy,5,'01/01/2009')
--两个日期中指定日期的间隔(yy:年,mm:月,dd:日,输出一个整型)
SELECT DATEDIFF(yy,'2017-05-08','2019-05-04')
--日期中指定日期部分的字符串形式(yy:年,mm:月,dd:日,输出一个字符串:星期六)
SELECT datename(dw,'2015-05-09')
--日期中指定日期部分的整数形式
SELECT datepart(day,'2014-05-09')
--数学函数
--返回0-1之间的随机数float值
SELECT rand()
--取大于或等于指定数值、表达式的最小整数
SELECT ceiling(45.6)
--取数值表达式的绝对值
SELECT abs(-8)
--取小于或等于指定数值、表达式的最大整数
SELECT floor(32.8)
--取数值表达式的幂值(5的2次方)
SELECT power(5,2)
--取数值表达式四舍五入为指定的精度(2代表保留2位,其余的都是0)
SELECT round(3.1415926,2)
--对于正数返回+1,对于负数返回-1,对于0则返回0
SELECT sign(-1)
--取浮点表达式的平方根
SELECT sqrt(9)
--系统函数
--用来转变数据类型
SELECT CONVERT (VARCHAR (5),12345)
--返回当前用户的名字
SELECT CURRENT_USER
--返回用于指定表达式的字节数
SELECT DATALENGTH ('中国A联盟')
--返回当前用户所登录的计算机名字
SELECT HOST_NAME()
--返回当前所登录的用户名称
SELECT SYSTEM_USER
--从给定的用户ID返回用户名
SELECT USER_NAME(1)
--案例
--某公司印了一批充值卡,卡的密码是随机生成的,现在出现这个问题:
--卡里面的字母“O和数字0”、“字母i和数字1”,用户反映说看不清楚,
--公司决定,把存储在数据库中的密码中所有的“O”都改成“0”,把所有的“i”都改成“1”;
UPDATE Card SET PassWord = REPLACE(PassWord ,'O','0')
UPDATE Card SET PassWord = REPLACE(PassWord ,'i','1')
--使用函数更加简便
UPDATE  Card 
SET   PassWord = REPLACE(REPLACE(PassWord ,'O','0'),'i','1')


相关实践学习
使用SQL语句管理索引
本次实验主要介绍如何在RDS-SQLServer数据库中,使用SQL语句管理索引。
SQL Server on Linux入门教程
SQL Server数据库一直只提供Windows下的版本。2016年微软宣布推出可运行在Linux系统下的SQL Server数据库,该版本目前还是早期预览版本。本课程主要介绍SQLServer On Linux的基本知识。 相关的阿里云产品:云数据库RDS SQL Server版 RDS SQL Server不仅拥有高可用架构和任意时间点的数据恢复功能,强力支撑各种企业应用,同时也包含了微软的License费用,减少额外支出。 了解产品详情: https://www.aliyun.com/product/rds/sqlserver
目录
相关文章
拿php写个原生增删改查案例出来(提供全部代码+sql)
拿php写个原生增删改查案例出来(提供全部代码+sql)
拿php写个原生增删改查案例出来(提供全部代码+sql)
|
1天前
|
SQL Kubernetes 数据库
实时计算 Flink版操作报错合集之查询sqlserver ,全量阶段出现报错如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
12 0
|
2天前
|
关系型数据库 MySQL 数据库
实时计算 Flink版操作报错合集之sqlserver mysql都用的胖包,sqlserver的成功了,mysql报这个错如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
17 6
|
2天前
|
SQL Java 网络安全
实时计算 Flink版操作报错合集之SQLserver表没有主键,同步的时候报错如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
11 1
|
5天前
|
SQL 缓存 关系型数据库
一次sql改写优化子查询的案例
在生产环境中,一个MySQL RDS实例遭遇了高CPU使用率问题,原因是执行了一条复杂的UPDATE SQL语句,该语句涉及一个无法缓存的子查询(UNCACHEABLE SUBQUERY),导致子查询需要针对每一行数据重复执行,极大地影响了性能。SQL语句的目标是更新一行数据,但执行时间长达30秒。优化方法是将子查询转换为内连接形式,优化后的语句执行时间降低到毫秒级别,显著减少了CPU消耗。通过示例数据和执行计划对比,展示了优化前后的时间差异和执行效率的提升。
|
5天前
|
SQL NoSQL 关系型数据库
一个基于 BigQuery 的 SQL 注入挖掘案例
一个基于 BigQuery 的 SQL 注入挖掘案例
8 0
|
5天前
|
SQL 存储 小程序
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
数据库数据恢复环境: 5块硬盘组建一组RAID5阵列,划分LUN供windows系统服务器使用。windows系统服务器内运行了Sql Server数据库,存储空间在操作系统层面划分了三个逻辑分区。 数据库故障: 数据库文件丢失,主要涉及3个数据库,数千张表。数据库文件丢失原因未知,不能确定丢失的数据库文件的存放位置。数据库文件丢失后,服务器仍处于开机状态,所幸未写入大量数据。
数据库数据恢复—Sql Server数据库文件丢失的数据恢复案例
|
5天前
|
SQL 分布式计算 数据挖掘
Spark_Day07:Spark SQL(DataFrame是什么和数据分析(案例讲解))
Spark_Day07:Spark SQL(DataFrame是什么和数据分析(案例讲解))
84 0
|
5天前
|
SQL 自然语言处理 数据库
NL2SQL实践系列(2):2024最新模型实战效果(Chat2DB-GLM、书生·浦语2、InternLM2-SQL等)以及工业级案例教学
NL2SQL实践系列(2):2024最新模型实战效果(Chat2DB-GLM、书生·浦语2、InternLM2-SQL等)以及工业级案例教学
NL2SQL实践系列(2):2024最新模型实战效果(Chat2DB-GLM、书生·浦语2、InternLM2-SQL等)以及工业级案例教学
|
5天前
|
SQL 存储 数据挖掘
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例
服务器数据恢复环境: 一台安装windows server操作系统的服务器。一组由8块硬盘组建的RAID5,划分LUN供这台服务器使用。 在windows服务器内装有SqlServer数据库。存储空间LUN划分了两个逻辑分区。 服务器故障&初检: 由于未知原因,Sql Server数据库文件丢失,丢失数据涉及到3个库,表的数量有3000左右。数据库文件丢失原因还没有查清楚,也不能确定数据存储位置。 数据库文件丢失后服务器仍处于开机状态,所幸没有大量数据写入。 将raid5中所有磁盘编号后取出,经过硬件工程师检测,没有发现明显的硬件故障。以只读方式将所有磁盘进行扇区级的全盘镜像,镜像完成后将所
数据库数据恢复—RAID5上层Sql Server数据库数据恢复案例