开发者社区> 航空母舰> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

sql server 学习笔记

简介:
+关注继续查看

1.将数据库的字符集修改为:
alter database dbname collate Chinese_PRC_CI_AS

2、如果是表中的字段:
ALTER TABLE Userinfo ALTER COLUMN name VARCHAR(4) COLLATE Chinese_PRC_CI_AI

如果修改整个服务器的默认排序规则,用Rebuildm.exe重建master库  

1、create database school 创建数据库school

2、drop database school 删除数据库school

3、use school 连接到school数据库,使其成为当前数据库

4、create table class(classID int primary key identity not null)
创建一个名为class的表,其有一个int型数据classID字段,该字段设置了主键约束
并自动编号列且不能为空


7、select * into class2 from class
   将class表中的所有数据复制到class2表中

8、
 select * into class2 from class where 1=0 只复制表结构

9、insert into class2(className) values('Juhn')或
   insert into class2(className,tel) values('Bile','0731-2255664')
    在class2表中插入一条记录
Insert into RPMIItbSales ([ControlProcessed] ,[ControlTimeStamp])[]可有可无


10、 delete from Student where StudentID between  13 and 15
    删除Student表中StudentID在13至15之间的数据(包括13和15)

11、alter table class2 add tel varchar(15) default('没有电话')
    修改表class2,为它添加一个tel列并将其默认值设为'没有电话'

12、alter table class2 drop column tel 删除列

13、alter table student add constraint telDefault  default('没有电话') for tel
    修改tel列的默认值

14、create table class3(classID int ,constraint id_key primary key(classID))
    创建一个名为class3的表并为它设置了名为id_key的主键约束

16、alter table class2 add age int check (age between 0 and 120)
    为class2添一个age列,并为其设置检查约束,使其的取值在0到120之间

17、alter table class2 add age int ,constraint ageCheck check
    (age between 0 and 120)
    其设置检查约束方法二,为约束取名为ageCheck

18、alter table class2 add tel varchar(15) ,check
(tel like '[0-9][0-9][0-9]-[0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
其设置检查约束方法三,此为模糊约束

19、create table class3(ID int primary key identity,classID int ,
    name varchar(15) ,constraint classID foreign key(classID) references
    class2(classID))
    设置外键约束

20、alter table class3 drop classID
删除class3的classID外键约束

21、create index class2Name on class2(className)
    在class2表的calssName字段上创建一个class2Name的索引

22、create unique index class2Name on class2(className)
    创建唯一索引

23、select classID,className from class2 where className='body'
    select classID,className from class2 where className like '%s'
    创建索引后查询的的速度将更快,但会降低insert、update、delete的执行速度

24、drop index class2.class2Name 删除表class2上的class2Name索引

25、update class2 set className='Lida',tel='13787277732' where classID=3
    将class2表中className和tel列、classID=3
    行的单元格的值改为'Lida'和'13787277732',注意忽略where语句将改变表中所有的行

26、create default sexDefault as '男'; 创建一个名为sexDefault的默认值
    sp_bindefault sexDefault,'student.sex';
    将创建的sexDefault默认值绑定到student表的sex字段上

27、insert into class2(name,names) select name,names from class1
    将class1中的数据全部复制到class2中

28、truncate table class 删除class表中所有的行

29、select Name 国家,Population 人口 from BBC where Name
    in('France','Cermany','Italy United')
    查询BBC表中'France','Cermany','Italy United'三个地区的所在的国家和人口数

30、select Name 国家 from BBC where Name like '%United%'
    查询BBC表中的Name字段中包含United字符的国家,通配符"_"表示匹配任意单个字符

30、select Name 国家, Population 人口 from BBC where Population>100000000 order by Population desc
    查询BBC表中的Population字段大于100000000的国家和人口,并按降序排序,默认为升序asc

31、select Name,round(Population/1000000,0) as '人口(百万)' from BBC where Region='South Asia'
    查询BBC表中的Region='South Asia'国家和百万人口数(round是四舍五入)

32、select distinct Region from BBC
    查询BBC表中的Region字段中的非重复数据,distinct排除重复数据
    如有多列则作用在列的组合上,而不再作用在单列上

33、
 select top 50 percent * from BBC 
    查询BBC表中的所有字段,但只返回总行数的50%,percent表百分数、可选

select top 3* from BBC 

34、select * from BBC where Area>100 and not GDP<10000000
    查询BBC表中的所有Area小于100并且GDP不小于10000000的数据,会返回所有的列,不只是Area列

33、select * from BBC where Area not between 20000 and 30000
    查询BBC表中的所有Area不在20000和30000之间的数据,会返回所有的列,不只是Area列

34、select distinct Name+str(Age) 学生 from Student
    查询Student表中Name和Age字段都不重复的数据
    str(Age)返回Age的字符串表达形式,"学生"是别名
   
35、select * from Student where Nealth is null
    查询Student表中Nealth字段为null的数据
   
36、exec sp_helpconstraint 'Teacher'
    查看'Teacher'表中的所有约束
   
37、select * from Student where StudentID=1
for xml raw
返回XML语句


39、create procedure insert_Procedure
@Name varchar(10),
@Sex varchar(2),
@Age int,
@Tel varchar(20),
@Address varchar(50)
as
insert into student(Name,Sex,Age,Tel,Address) values(@Name,@Sex,@Age,@Tel,@Address)
创建一个插入数据的存储过程
40、select datediff(day,'20090403',getdate())
用指定时间减去当前时间,返回的是天数,还可以用month返回月数

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C语言连接SQLSERVER数据库
原文:C语言连接SQLSERVER数据库 第一步:配置ODBC。在配置ODBC时有用户DSN、系统DSN、和文件DSN三种方法,为了稳妥起见,采用系统DSN。 DSN的名字叫LocalServer,帐号:sa,密码123456 第二步:打开VC,建一个win32 Console App...
947 0
php连接sql server 2008数据库
原文:php连接sql server 2008数据库   关于php连接sql server 2008的问题,2000的版本可以直接通过php中的配置文件修改,2005以上的版本就不行了,需要使用微软公司提供的驱动(sql server driver for php)。
991 0
SQLSERVER监控复制并使用数据库邮件功能发告警邮件
原文:SQLSERVER监控复制并使用数据库邮件功能发告警邮件 SQLSERVER监控复制并使用数据库邮件功能发告警邮件 最近熬出病来了,都说IT行业伤不起,不说了,说回今天的正题   正题 上个月月底的时候因为要搬迁机房,需要将一个数据信息数据库先搬到我们的机房,然后将客户的数据库 从原来的机房A搬到机房B,原来我们的数据信息库(DataInfo)是放在机房A的,但是为了以后方便和防止信息泄露 就放到我们的托管机房,这里叫机房C   在搬迁机房的时候,尽量减少宕机时间,数据不能丢,搬迁机房真是一门学问。
918 0
批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor
原文:批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor 批量解密SQLSERVER数据库中的各种对象的工具dbForge SQL Decryptor2.1.11 之前写过一篇文章,使用redgate公司的SQL PROMPT工具,但是不太方便 SQLPROMPT5.
1115 0
向SqlServer数据库插入数据
原文:向SqlServer数据库插入数据 Insert Values Insert Select Insert Exec Select Into Bulk Insert Insert Values是最常用的一种插入数据的方式,基本语法如下,表名之后可以指定目标列的名称,这种显式的指定目...
648 0
基于4.5Framework web程序、SQLSERVER数据库打包
原文:基于4.5Framework web程序、SQLSERVER数据库打包   估计很多朋友和我一样,对于C/S程序打包很熟悉,但对于B/S程序打包一头雾水。。。   最近公司要求我们把项目和数据库(SQLSERVER)一起打包,然后安装在CD光盘上,打算拿光盘去客户那边实现一键安装。
795 0
SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库)
原文:SQLServer 2005 数据库定阅复制实现双机热备(主要是sharepoint 内容数据库) 场景   公司最近的sharepoint的数据库服务器老是出问题,并且在一旦出现问题,就导致无法正常工作。
1220 0
sql server 判断是否存在数据库,表,列,视图
原文:sql server 判断是否存在数据库,表,列,视图 1 判断数据库是否存在if exists (select * from sys.databases where name = '数据库名')    drop database [数据库名]  2 判断表是否存在if exists (se...
510 0
sqlserver:同一数据库内负责表结构。
select * into 新表 from 旧表   where 1=2; ## where 表示要携带的数据,随便写个恒不等式就可以只复制表结构不携带数据。
388 0
oracle,mysql,SqlServer三种数据库的分页查询
MySql: MySQL数据库实现分页比较简单,提供了 LIMIT函数。一般只需要直接写到sql语句后面就行了。LIMIT子 句可以用来限制由SELECT语句返回过来的数据数量,它有一个或两个参数,如果给出两个参数, 第一个参数指定返回的第一行在所有数据中的位置,从0开始(注意不是1),第二个参数指定最多返回行数。
691 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
SQL Server 2017
立即下载
The state of SQL-on-Hadoop in the Cloud
立即下载
SQL Sever迁移PG经验
立即下载