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(字符串)

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350

推荐阅读更多精彩内容

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