字符串用单引号',判断用单等号=,两个单引号''转义为一个单引号'
不等号是<>不区分大小写[]括起来的要不是关键字,要不是非法变量,比如空格隔起来的变量创建与删除数据库1 --创建数据库 2 create database School; 3 --删除数据库 4 drop database School; 5 --创建数据库的时候指定一些选项 6 create database School; 7 on PRimary--配置主数据文件 8 ( 9 name='School',--逻辑名称,数据库内部用的名字10 filename='',--保存路径11 size=5MB,--设置初始化大小12 filegrowth=10MB或10%,--设置增长速度13 maxsize=100MB--设置最大大小14 )15 log on--配置主日志文件16 (17 name='',--设置逻辑名称18 filename='',--设置路径19 size=3MB,20 filegrowth=3%,21 maxsize=20MB22 )
1 --每个项设置后面都加逗号 最后一项不加 2 --切换数据库 3 use School; 4 --在School数据库中创建一个学生表 5 create table TblStudent 6 ( 7 --表中的定义在这对的小括号中 8 --开始创建列 9 --列名 数据类型 自动编号(从几开始,增长步长) 是否为空(不写默认允许,或者写null 不允许空写 not null)10 --tsid int identity(1,1) not null11 --设置名为tsid 类型为int 从1开始增长,每次增长1的主键列12 tsid int identity(1,1) primary key,13 )
1 --查询表 2 select * from TblClass 3 --insert向表插入数据(一次只能插一条) 4 insert into TblClass(tclassName,tclassDesc) values('tclassName的值','tclassDesc的值') 5 --TblClass后面的括号设置在哪些列插入数据,value后面的括号要与前面的一一对应.如果要给除自动编号的所有列插入数据,TblClass后面的括号可省 6 --插入同时返回指定列的数据:在value前加上output inserted.列名 7 8 9 --向自动编号列插入数据10 --先把一个选项打开 倒数第二个是列名11 set IDENTITY_INSERT tblclass on12 insert........13 --最后记得把选项关掉14 --听过一条语句插入多条数据15 insert into TblClass(tclassName,tclassDesc)16 select '...','...' union17 select '...','...' union18 select '...','...' union19 select '...','...' --最后一项不用union20 --把一个表的书数据插入另一个表21 insert into 被插表(列名,列名)22 select 列名,列名 from 数据来源表23 --插入汉字记得在字符串前加入N
1 update 表名 set 列名=值,列名2=值2 where 条件 and..or...2 --如果没有条件,所有数据都会更新
1 --删除 2 delete from 表名 where 条件 3 --删除整表数!据!与drop不同,两种 4 --1,delete from 表名 5 --速度慢 6 --自动编号依然保留当前已经增长的位置 7 delete from 表名 8 --2,truncate table 表名 9 --速度快10 --自动编号重置11 truncate table 表名
1 --修该列 2 --删除指定列 3 alter table 表名 drop column 列名 4 --增加指定列 5 alter table 表名 add 列名(这里跟创建表一样) 6 7 --修改指定列 8 alter table 表名 alter column 列名 9 --增加约束10 --给指定列添加主键约束11 alter table 表名 add constraint 约束名 primary key(列名)12 --给指定列添加非空约束13 alter table 表名 alter column 列名 数据类型 not null14 --给指定列添加唯一约束15 alter table 表名 add constrainy UQ开头的约束名 unique(列名)16 --给指定列添加默认约束17 alter table 表名 add constraint 约束名 default(值) for 列名18 --给指定列添加检查约束19 alter table 表名 add constraint 约束名 check(表达式) 20 --增加外键约束21 alter table 表名 add constraint FK_约束名 foreign key(外键列名)references 主键表名(列名)22 23 --删除多个约束24 alter table 表名 drop constraint 约束名,...,...25 26 --创建多个约束27 alter table 表名 add28 constraint 约束名 unique(列名),29 constraint 约束名 check(表达式),30 constraint 约束名 foreign key(要引用列)31 references 被引用表(列) 32 on delete cascade on update cascade --设置级联删除和更新
1 --数据检索,查询指定列的数据,不加where返回所有2 select 列名,列名,... from 表名 where 条件3 --用select显示东西,列名可省略,列名可以不''起来,除非名字有特殊符号4 select 值 (空格或者as) 列名5 --top获得前几条数据,选到的都是向上取整6 select top (数字或数字 percent) * from 表名 order by 列名 (asc//升序,默认值 desc//降序)7 --Distinct去除查询出的重复数据,只要有一点不同(显示出来的列的内容不同)不算重复,比如自动增长的那列8 select distinct 要显示的列 from 表名 ...
合并行叫做"联合"
联合必须保证每行的数据数目与第一行一致,数据类型兼容
列名为第一行的列名
union all 在联合时不会去除重复数据,也不自动排序
不能分别排序
常用:底部总和
例:
select
商品名称,
销售总价格=(sum(销售数量*销售价格))
fromMyOrders
groupby商品名称
union all
select'销售总价:',sum(销售数量*销售价格)fromMyOrders
1 select*from TblClass2 jion tblstudent on TblClass.tClassId=TblStudent.tSClassId3 --查询出两个表符合TblClass.tClassId=TblStudent.tSClassId的数据行,并显示其所有数据
1 select*from TblClass2 jion tblstudent on TblClass.tClassId=TblStudent.tSClassId
1 select * from TestJoin1Emp emp inner join TestJoin2Dept dept on emp.EmpDeptid=dept.DeptId2 --两者等效3 select * from TestJoin1Emp emp , TestJoin2Dept dept 4 --假设emp与dept,行数分别是3,5.select * from 这两个表,实际会形成3*5=15行的临时表5 --再在这个表中筛选,而这个表叫做笛卡尔表6 where7 emp.EmpDeptid=dept.DeptId
1 create table groups 2 ( 3 gid int identity(1,1) primary key not null, 4 gname nvarchar(10), 5 gparent int 6 ) 7 select * from groups 8 insert into groups values('总部',0) 9 insert into groups values('北京分公司',1)10 insert into groups values('上海分公司',1)11 insert into groups values('.net部门',2)12 insert into groups values('.net部门',3)13 --查询部门对应的上级部门14 use Temp15 select deparment.gname as '部门名称',comp
新闻热点
疑难解答