加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

基本SQLServer语句献给初学者

发布时间:2020-12-12 13:30:55 所属栏目:MsSql教程 来源:网络整理
导读:创建数据库 CREATE database mydtItcast on primary ( name='mydtItcast_data',fileName='D:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATAmydtItcast.mdf',size=5MB,maxSize=10MB,filegrowth=1MB ) log on ( name='mydtItcast_log',
创建数据库 CREATE database mydtItcast on primary ( name='mydtItcast_data',fileName='D:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATAmydtItcast.mdf',size=5MB,maxSize=10MB,filegrowth=1MB ) log on ( name='mydtItcast_log',filename='D:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATAmydtItcast.ldf',size=1MB,maxsize=5MB,filegrowth=10% ) CREATE table Food ( fId int identity(1,1) primary key,fName nvarchar(10),fAddress nvarchar(50),--商品的厂商 FacId int not null ) CREATE table Factory ( FacId int identity(1,FacName nvarchar(20),FacAddress nvarchar(50),FacDesc nvarchar(20) ) ============================================= drop table myitstudent--删除一个表 CREATE table myItStudent--创建一个表 ( stuId int identity(1,--此时这列就是自动增长的列,是主键 stuName nvarchar(10),-- not null,代表不能为空 stuAge int --not null ?年龄不能为空 ) 插入 insert INTO food(fname,faddress,facId)VALUES('汉堡包','东南大街',1) insert INTO food(fname,facId)VALUES('饼干','西南大街',2) INSERT INTO factory( FacName,FacAddress,FacDesc)VALUES('肯德基','中国北京','不是中国的') Insert into Food(fname,facid)? select '炒饭','门口饭店',3 union select '炒面',3 ?union select '炒冰',3 ?union select '炒菜',3 ?union select '炒肉',3 insert INTO tblstudent values('刘德华',1,27,'香港','131000','123','2010-01-27',1) 修改 update tblstudent SET tsage=tsage+1 UPDATE tblstudent SET tsage=30 WHERE tsgender='男' AND tsage<25 UPDATE TblStudent set tsname=tsname+'( ^_^ )/~~拜拜' where tsage=30 and tsname='张1忌' 删除 delete FROM student --数据没了 ?表还有 DROP TABLE student--删除表? delete from food WHERE fid=10--根据条件删除某一条记录 truncate table food--删除的时候 表 还有 ?数据没了--在删除的时候,id的值(主键,)相当于重置 --当创建了主外键关系后,如果在外键表中有任何记录引用了主键表中的某条记录,则在主键表中不能删除该记录。同时主键表也不能删除。 create table Employees ( EmpId int identity(1,1),--主键约束 EmpName varchar(50),--名字在到个字符,姓名不能重复 --len(EmpName)>=5 and len(EmpName)<=10 --不能重复唯一约束设计添加索引,UQ 唯一键,设置名字列 EmpGender char(2),--只能输入男女--EmpGender='男' or EmpGender='女' EmpAge int,--年龄在-120 同上EmpAge>=0 and EmpAge<=120 EmpEmail varchar(100),--不能重复,必须在-25之间字符 --len(EmpEmail)>5 and len(EmpEmail)<25 EmpAddress varchar(500) ) create table Department ( DepId int identity(1,DepName varchar(50) unique not null ) --主键约束选中表单击设计设为主键 --检查约束部门名称必须在到个字之间 --len(DepName)>=5 and len(DepName)<=10 --默认约束 选中列然后下面改默认 --外键约束的时候 选择表 设计 关系 添加就可以了 --如果就想删除,那就在外键表 设计 关系中找到删除规则,和更新规则变成级联就删了 --手动删除一列(删除EmpAddress列) alter table Employees drop column EmpAddress select * from employees --手动删除一列(删除EmpAddress列) --手动增加一列(增加一列EmpAddr varchar(1000)) alter table employees add EmpAddr varchar(100) --手动修改一下EmpEmail的数据类型(varchar(200)) ALTER table employees alter column empemail varchar(200) --为EmpId增加一个主键约束 ALTER table employees add constraint PK_EmpId primary key(EmpId) ----非空约束,为EmpName增加一个非空约束 alter table employees alter column empName varchar(50) not null ----为EmpName增加一个唯一约束 alter table employees add constraint UQ_EmpName unique(EmpName) --为性别增加一个默认约束,默认为'男' ALTER table employees add constraint DF_EmpGender default('男') for EmpGender --为年龄增加一个检查约束:年龄必须在-120岁之间,含岁与岁。 alter table employees add constraint CK_EmpAge check(empage>=0 and empage<=120) --然后为Employee表增加一个DepId列。 alter table employees add DepId int --增加外键约束 alter table employees add constraint FK_Employees_Department foreign key (DepId) references Department(DepId) SELECT DISTINCT TSName FROM TblStudent---把重复的数据干掉了 == SELECT '数学最高成绩',max(TMath) from TblScore SELECT max(TMath) as 数学最高成绩 from TblScore SELECT min(tenglish),max(TMath) from TblScore SELECT sum(tenglish) from TblScore--null不参与运算 SELECT avg(tenglish) from TblScore select count(*) FROM TblScore--在求总行数的时候 * --求英语成绩 select '英语成绩'=sum(tenglish),tmath FROM TblScore --查询年龄在20-30岁之间的男学生 select * FROM TblScore where tmath BETWEEN 120 AND 150? --============================下面两种方法都能查询到 班级id为1,2,3的所有学生 select * FROM TblStudent where TClassId=1 OR TClassId=2 OR TClassId=3 select * FROM TblStudent where TClassId ?IN(1,2,3) ========简单查 select * FROM TblStudent where TSName LIKE '张%'--%所有的字符 select * FROM TblStudent where TSName LIKE '张_'--_表示的是单个的字符 select * FROM TblStudent where TSName LIKE '张__' select * from TblStudent where tSName like '张%' and LEN(tSName)=3 ========= --请从学生表中查询出每个班的班级Id和班级人数: select TClassId as 班级id,班级的人数=count(*) FROM TblStudent GROUP BY TClassId --请从学生表中查询出每个班的班级Id和班级中男同学的人数 select TsClassId as 班级id,班级的人数=count(*) FROM TblStudent where TSGender='男' GROUP BY TsClassId --1.热销售商品排名表,【即按照每种商品的总销售数量排序】。 SELECT 商品名称,sum(销售数量) as 商品销售总数量 FROM myorders group BY 商品名称 order BY 商品销售总数量 desc SELECT 商品名称,销售总价= sum(销售数量*销售价格)from myorders group BY 商品名称 HAVING sum(销售数量*销售价格)>3000 order BY 销售总价 desc select 购买人,sum(销售数量) as 购买量 FROM myorders where 商品名称='可口可乐' GROUP BY 购买人 order BY sum(销售数量) desc --统计各个客户对"可口可乐"的喜爱度(既统计每个购买人对“可口可乐”的购买量) select '年纪为'+cast(90 AS VARCHAR(10)) SELECT '年纪为'+convert(VARCHAR(10),90) ---------------字符串的函数 select len('小赵喜欢凤姐,凤姐喜欢老马,老马喜欢老杨')--计算字符串的个数(长度) select datalength('小马f') print ltrim(' ? ?哇塞,我去,建了一个表'); print rtrim(' ? ?哇塞,建了一个表 ? ? '); print (' ? ?哇塞,建了一个表 ? ? '); --截取的 select left('小赵猥琐',2); select right('老马邪恶',3); select * from T6 select getdate() 获得当前时间

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读