SQL server常用操作命令

use mytest
go

--nchar类型与char类型完全相同,除了nchar是以Unicode格式而非ANSI格式来存储字符。
--Unicode格式比ANSI格式有更大的字符集范围。ANSI字符集仅有256个字符,Unicode字符集有65536个不同的字符。
--在SQL server中,Unicode数据类型要占用更多的存储空间,SQL server将为Unicode数据类型分配双倍的内部
--存储空间,因此,除非数据库中的确需要以这种格式保存字符,否则应使用ANSI。

--新建数据库
--create database mytest

--删除数据库
--drop database mytest

--新建表
--create table SaleManager(
--number varchar(10) not null,
--name vachar(20) not null,
--sex char(4) not null)

--删除表
--drop table SaleManager

--修改表名
--EXEC sp_rename ‘SaleManager‘,‘Student‘

--插入数据
--insert into SaleManager values(1501,N‘jia‘,N‘男‘),(1502,N‘ze‘,N‘男‘)

--更改列名		注意: 更改对象名的任一部分都可能会破坏脚本和存储过程。
--exec sp_rename ‘SaleManager.[birthday]‘,‘Birthday ‘,‘column ‘

--更改列类型
--alter table SaleManeger alter column Birthday date

--增加列
--alter table SaleManager add Birthday date

--更新数据
--update SaleManager set Birthday = ‘07/15/2015‘ where number = 1501

--删除列
--alter table SaleManager drop column Birthday

--变量的使用
--declare @number int
--set @number = 2015
--print @number

--赋值列所有数据
--update SaleManager set [Birthday ] = ‘02/12/2014‘

--使用聚合函数
--select N‘人员数量‘ = COUNT(*),
--	   N‘平均年龄‘ = AVG(Age),
--	   N‘最小年龄‘ = MIN(Age),
--	   N‘最大年龄‘ = MAX(Age),
--	   N‘年龄方差‘ = STDEV(Age)
--from SaleManager

--使用数学函数
--select N‘自然对数‘ = LOG(10),
--	   N‘指数‘ = EXP(12),
--	   N‘符号‘ = SIGN(2),
--	   N‘圆周率‘ = PI(),
--	   N‘正弦‘ = SIN(PI()/2.0),
--	   N‘余弦‘ = COS(PI()/2.0)

--使用字符串函数
--select name,
--	   N‘名字长度‘ = LEN(name)
--from SaleManager

--选取id为1和2的数据行,in可译为‘有,为‘
--select * from Score
--where id in (1,2)

--通配符%替代一个或多个字符,_仅替代一个字符,[charlist]字符列中的任何一个首字符,[!charlist]
--select * from Score
--where name like ‘j%‘
--where name like ‘z_‘
--where name like ‘[j]%‘

--操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
--select * from Score
--where name between ‘jia‘ and ‘ze‘

--通过使用 SQL,可以为列名称和表名称指定别名(Alias),as可省略
--指定表别名,多表查询
--select sc.name,sa.number
--from Score as sc,SaleManager as sa
--where sc.name = ‘jia‘ and sa.number = 1501
--指定列别名
--select name as n,sex as s
--from Score

--UNION 操作符用于合并两个或多个 SELECT 语句的结果集.
--默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL
--select name from SaleManager
--union		--(union all)
--select name from Score

--SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中
--SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档
--select * into Score1	--(in ‘backup.mdb‘)
--from Score
--(where id = 01)

/*UNIQUE 约束唯一标识数据库表中的每条记录。
UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。
PRIMARY KEY 拥有自动定义的 UNIQUE 约束。
请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
例:Id_P int NOT NULL UNIQUE,
*/

/*PRIMARY KEY 约束唯一标识数据库表中的每条记录。
主键必须包含唯一的值。
主键列不能包含 NULL 值。
每个表应该都一个主键,并且每个表只能有一个主键。
例:Id_P int NOT NULL PRIMARY KEY,
*/

/*一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
FOREIGN KEY 约束用于预防破坏表之间连接的动作。
FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。
例:FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
*/

/*CHECK 约束用于限制列中的值的范围。
如果对单个列定义 CHECK 约束,那么该列只允许特定的值。
如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。
例:Id_P int NOT NULL CHECK (Id_P>0),
*/

/*DEFAULT 约束用于向列中插入默认值。
如果没有规定其他的值,那么会将默认值添加到所有的新纪录。
例:City varchar(255) DEFAULT ‘Sandnes‘
*/

/*Auto-increment 会在新纪录插入表中时生成一个唯一的数字。
我们通常希望在每次插入新纪录时,自动地创建主键字段的值。
我们可以在表中创建一个 auto-increment 字段。
MS SQL 使用 IDENTITY 关键字来执行 auto-increment 任务
默认地,IDENTITY 的开始值是 1,每条新纪录递增 1。
要规定 "P_Id" 列以 20 起始且递增 10,请把 identity 改为 IDENTITY(20,10)
下列 SQL 语句把 "Persons" 表中的 "P_Id" 列定义为 auto-increment 主键:
P_Id int PRIMARY KEY IDENTITY
*/

/*SQL Server 使用下列数据类型在数据库中存储日期或日期/时间值:
DATE			- 格式: YYYY-MM-DD 
DATETIME		- 格式: YYYY-MM-DD HH:MM:SS 
SMALLDATETIME   - 格式: YYYY-MM-DD HH:MM:SS 
TIMESTAMP		- 格式: 唯一的数字 
*/

/*NULL 值的处理方式与其他值不同。
NULL 用作未知的或不适用的值的占位符。
注释:无法比较 NULL 和 0;它们是不等价的。
*/

/*在 SQL Server 中的合计函数:
	函数					描述 
AVG(column)				返回某列的行数   
COUNT(column)			返回某列的行数(不包括NULL值) 
COUNT(*)				返回被选行数 
COUNT(DISTINCT column)  返回相异结果的数目 
FIRST(column)			返回在指定的域中第一个记录的值(SQLServer2000 不支持) 
LAST(column)			返回在指定的域中最后一个记录的值(SQLServer2000 不支持) 
MAX(column)				返回某列的最高值 
MIN(column)				返回某列的最低值  
SUM(column)				返回某列的总和 

例:select avg(age) as AveAge from SaleManager
*/

/*SQL索引有两种,聚集索引和非聚集索引,聚集索引存储记录是物理上连续存在,
而非聚集索引是逻辑上的连续,物理存储并不连续。
聚集索引一个表只能有一个,而非聚集索引一个表可以存在多个。
*/

--创建视图
--create view [FirstView] as
--select name, score
--from Score
--(where score>80)
--go

--查询视图
--select * from [FirstView]

--GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
--select name, AVG(score) as AveScore from Score
--group by name

--HAVING 子句,在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
--select name, AVG(score) as AveScore from Score
--where sex = ‘女‘
--group by name
--having AVG(score)>80
时间: 2024-10-28 21:49:32

SQL server常用操作命令的相关文章

SQL Server常用的几种启动方式

各位在公司一般涉猎ORACLE,很少用到sql server,那么今天给大家讲讲sql server常用的启动方式: SQL Server实例分为下面几种启动方法: (1)在Windows服务控制台里手动启动,或者自动启动(默认),这个也是最常用的方式 (2)SQL Server本身自己提供的启动方式,我们这里可以手动启动 (3)在SQL Server的SSMS里面手动启动它,这个方式一般大部分利用这种方式进行手动重启 (4)通过Windows命令窗口,用'net start'命令手动启动,这种

SQL Server 常用命令使用方法

(1) 数据记录筛选: sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 like '%字段值%' order by 字段名 [desc]" sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]" sql="select * from 数据表

SQL Server 常用日期查询语句

--本月月初select  dateadd(mm,datediff(mm,0,getdate()),0) --本月月末select  DATEADD(DD,-1,DATEADD(MONTH,1+DATEDIFF(MONTH,0,GETDATE()),0))--设置每周的第一天为星期一SET  DateFirst 1declare @cur_week1 varchar(10)--本周第一天select @cur_week1=DATEADD(DAY,1-DATEPART(WEEKDAY,getdat

Ubuntu下sql server基本操作命令

Ubuntu下sql server基本操作命令 1.使用命令之后需要在新的一行中属于go,之前的命令才会执行,忽略大小写,sql server命名可以使用特殊字符. 2.创建数据库 CREATE DATABASE TestDB 3.查询数据库名 SELECT Name from sys.Databases 4.切换新数据库 USE TestDB 5.查询数据库 select name from sys.tables 6.创建名为 Inventory 的新表 CREATE TABLE Invent

SQL SERVER 常用命令

红色为常用 0.row_number() over 和数据组合sale/cnt select *,row_number() over(order by productname) as rownumberfrom productsselect row_number() over(order by sale/cnt desc) as sort, sale/cntfrom (select -60 as sale,3 as cnt from dual unionselect 24 as sale,6 a

Sql Server常用函数及技巧

使用Sql Server好长时间了,今天特别想总结一下,算是回顾吧! 常用函数: 1. ISNULL(columnName, '') 先判断该字段是否为空,如果为空,返回''; 否则返回该字段本来的值. 2. DATEDIFF(datepart,startdate,enddate) 不罗嗦,直接参考 链接 3. 实用语句: 1. 有时候项目中定义的储存过程比较多,需要确定某一个表被哪些stored procedure使用了,可以有如下两种方法: a. SSMS界面上,选中要查的表,右键,点击查找

SQL Server 常用内置函数(built-in)持续整理

本文用于收集在运维中经常使用的系统内置函数,持续整理中 一,常用Metadata函数 1,查看数据库的ID和Name db_id(‘DB Name’),db_name('DB ID') 2,查看对象的ID和Name,对象的Schema,对象的定义 OBJECT_ID ( 'schema_name . object_name','object_type' ) OBJECT_NAME ( object_id [, database_id ] ) OBJECT_SCHEMA_NAME ( object

sql server 常用的函数小汇

摘录些许sqlserver 常用到的一些函数,便于日常学习使用 一.字符转换函数1.ASCII()返回字符表达式最左端字符的ASCII 码值.在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错.2.CHAR()将ASCII 码转换为字符.如果没有输入0 ~ 255 之间的ASCII 码值,CHAR() 返回NULL .3.LOWER()和UPPER()LOWER()将字符串全部转为小写:UPPER()将字符串全部转为大写.4.STR()把

SQL Server 常用函数和日期操作

一.字符转换函数 1.ASCII() 返回字符表达式最左端字符的ASCII 码值. 在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它字符的字符串必须用‘’括起来使用,否则会出错. print ASCII('123456')    =>    49 print ASCII(123456)     =>    49 print ASCII('abc')         =>    97 2.CHAR() 将ASCII 码转换为字符.如果没有输入0 ~ 255 之间的ASCII