SQL Sever数据库脚本

数据库脚本代码

创建数据量

create  database dbtast--数据库名称

on primary

(

name = 'dbtest',                    --主数据文件逻辑名称

filename = 'D:\stuDB_data.mdf',    --主数据文件物理名称

size = 5mb,                        --主数据文件的初始大小

maxsize = 100mb,                    --主数据文件最大值

filegrowth = 15%                    --主数据文件的增长率

)

log on

(

name = 'dbtest_log',             

filename = 'D:\stuDB_log.ldf',

size = 2mb,

filegrowth = 1mb

)

删除数据库

drop database dbtest

在指定数据库添加数据表

use dbtest

create table ClassInfo

(

cId int not null primary key identity(1,1),

cTitle nvarchar(10)

)

主键:primary key

非空:not null

唯一:unique

默认:defalut()

检查:check()

外键:foreign key(当前表列名) references 表明(引用列名)

简单查询数据表

select * from ClassInfo              --表名

增加单个数据

insert into ClassInfo(cTitle) values('100')

insert into 表名(列名) values('值')

增加多个数据

insert into ClassInfo(cTitle)

values ('青龙'),('白虎'),('朱雀'),('玄武')

1.要求值的列名与值要位置对应

2.如果所有列都要插入值,则可省略列名按顺序插入

修改整列数据

update ClassInfo set cTitle = 'admin', cTitle = 'admin'

为指定行修改列数据

update ClassInfo set cTitle = 'admin'

where ClassInfo=1                      --修改第"1"行第cTitle列数据

删除数据表中的数据

delete (from) ClassInfo where cId = 1  --显示表中第1行的数据

清空数据表中所有行列数据(框架不变)

truncate table ClassInfo

别名

select UserName as name

from UserInof ui

设置别名之后使用必须使用别名

单行查询

select top 1 * from ClassInfo            --查询前1条数据

比例查询

select top 2 * from ClassInfo            --查询前2%的数据

对数据进行重新排序

select * from ClassInfo

order by cid desc,sId desc              --asc表示从小到大,desc表示从大到小

查询cid数据并消除重复行

select distinct cid from ClassInfo      --消除cid重复的行数只保留重复的第一行

where语句

select name from ClassInfo where Cid=1  --查询Cid=1的名字是什么

where返回的值为bool,查询到数据则为true查询不到则为false

比较运算符包括=,<,>,<=,>=,!=,<>(泛型)

区间查询语句

select * from ClassInfo

where Cid>=3 and Cid<=8

select * from ClassInfo

where Cid between 3 and 8                --显示Cid在3到8之间的数据

select * from ClassInfo

where Cid=1 or Cid=3

select * from ClassInfo

where Cid in(1,3)                        --显示Cid为1或者3的数据

逻辑运算符:and(与) or(或) not(非)

模糊查询

select * form ClassInfo

where Name like '1[5-9]%'                    --查询所有15...,16...,17....,18...,19...的数字

%为一个字符或者多个_为固定一个字符

[]表示一个约束,[1-5]为范围,[123]为123,[!123]不是123

select * from ClassInfo

where Cid is null                            --查询Cid数据等于null的数据

不是null则为is not null

优先级:小括号>not>比较运算符>逻辑运算符

连接查询(当需要的结果不在一张表的时候考虑使用)

select * form StudentInof

inner join ClassInfo on Student.Cid=ClassInfo.Cid

select * form StudentInof as si

inner join ClassInfo as ci on si.Cid=ci.Cid  --查询学生信息和班级信息

select * form StudentInof as si

left join ClassInfo as si on ci.Cid=si.Cid

select * form StudentInof as si

right join ClassInfo as si on ci.Cid=si.Cid   

内连接 inner join 两表中的完全匹配的数据

左外连接 left outer join 两表中完全匹配数据,左表中特有的数据

右外连接 right outer join 两表中完全匹配数据,右表中特有的数据

完全外连接 full outer join 两表中为安全匹配的数据,左表中特有的数据,右表中特有的数据

聚合函数

select COUNT(*) from ClassInfo            --查询当前表有多少行

select MAX(Cid) from ClassInfo            --查询当前表最大Cid值

select MIN(Cid) from ClassInfo            --查询当前表最小Cid值

AVG() 求平均值函数

select ClassInfo.*,AVG(Cid) over() from ClassInfo --将结果显示在每一行的后面

分组

select SGender,COUNT(*) from ClassInfo

group by sGender                          --性别分组 两组 0/1             

select sGender,Cid,COUNT(*) form StudentInof

group by sGender,Cid                      --每个班的男生是多少分组

分组之后进行筛选

select Cid,sGender,COUNT(*) from StudentInof

where Sid>2 group by Cid,

sGender having COUNT(*)>3                  --在分组之后进行筛选之后的信息

联合查询

union

union all

except      --差集

intersect  --交集

备份操作(向一个不存在的表中插入数据)

select * into test1 from ClassInfo        --备份表里面的数据和结构

select * into test2 from ClassInfo

where 1=2                                  --只备份结构不备份数据

(向一个存在的表中插入数据)

insert into test2(cTitle)

select cTitle from ClassInfo              --对主键列无法操作插入

类型转换

select CAST(89.000000 as decimal(4,1))

89.0

select CONVERT(decimal(4,1),89.000000,)

89.0

select CAST(1 as CHAR(1))+'1'

11(字符串)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 寻找两个人都喜欢的餐厅的minimum index sum。 Example :Input:["Shogun", ...
    DrunkPian0阅读 276评论 0 0
  • 我在收拾着屋子,女儿关掉电视走过来对我说:妈妈我累了,想睡觉了!看来是真的累坏了。今天茹茹舞蹈学校年前最...
    巾茹妈妈阅读 169评论 0 0
  • 一:那盏茶 作词:董玉方 作曲:小曾 演唱:金志文 谁的手放进水墨捞起一枚茶 把下午的山水染出艳雅 草屋前棋子落定...
    觉智师兄阅读 2,079评论 0 3
  • 北京的9月,天气逐渐转好,基本上一个月大部分时间的景色都值得拍照留念本以为在这大好的天气下,可以让之前阴霾的心情散...
    一眸一忆阅读 296评论 0 1
  • 语法: *args出现在参数列表中时,意味着传入的所有参数都将塞入一个列表中,而你在函数定义中使用args来引用这...
    1直领悟不够阅读 619评论 0 0