数据库SQL语句代码 常见问题

use student

go

create table x_student

(

 s_name char (10),

s_number char(10)not null,

sex char(2) default'',

birthday datetime,

polity char(4)

)

go

*********************************************

 use student

 go

sp_renamedb 'student','student-back'

 

sp_renamedb'student-back','student0'                                                                                     

 

sp_renamedb'student0','student'

*********************************************

create database class

on primary

(

 name=class_data,

 filename='E:/data/class.mdf',

size=3,

maxsize=20,

filegrowth=15%

)

log on

(

  name=class_log,

  filename='E:/data/class.ldf',

size=2,

maxsize=60,

filegrowth=1

)

*******************************************

drop database class

*******************************************

create database class0

on primary

(

 name=class0_data,

 filename='E:/data0/class.mdf',

size=3,

maxsize=20,

filegrowth=15%

)

log on

(

  name=class0_log,

  filename='E:/data0/class0.ldf',

size=2,

maxsize=60,

filegrowth=1

)

*************************************

drop database class0

*************************************

use class

go

create table student

(

  number char(10) not null,

 name   char(8),

sex char(2),

)

go

**************************************

sp_renamedb 'class','08512-class'

sp_renamedb '08512-class','my-class'

sp_renamedb 'my-class','class'

*************************************

use class

go

select *from  student(来自表)

*************************************

use student

go

select *from x_student(来自表)

go

****************************************

(必须声明使用哪个库建表)

create table student0

(

  number char(10) not null,

 name   char(8),

sex char(2),

)

go

****************************************

drop table class.dbo.student0

drop table student.dbo.student0

****************************************

use student

go

create table score

(

s_number char(10) primary key,

c_number char (10) ,

score real

)

*****************************************

use student

go

select *from course

select *from score

select *from x_student

*****************************************

select *from student (只能选择表,而不能选择数据库)

=========================================

use student

go

select top 3  s_number,s_name,sex,birthday from x_student

=========================================

select distinct sex from X_student

=========================================

select 学号=s_number,s_name as 姓名,birthday 出生日期,sex 性别from X_student

=========================================

select 学号=s_number,s_name as 姓名,birthday 出生日期,sex 性别,year(getdate())-year(birthday)

as 年龄from X_student

=========================================

select count(*) from X_student

=========================================

select count(*) from X_student where sex=''

****************************************

select X_student .s_number,s_name,c_number,score from

X_student,score where X_student.s_number=score.s_number

=========================================

select *from X_student where polity='党员' and sex=''

go

=========================================

select *from score where score between 80 and 90

go

=========================================

select *from X_student where  polity in('团员','群众')

*****************************************

 insert X_student

values('0851204','高劲松','','87.5.6','团员')

insert X_student

values('0851201','周克胜','','89.11.25','团员')

insert X_student

values('0851202','高萍','','87.5.6','团员')

insert X_student

values('0851203','周康','','89.11.25','团员')

insert X_student

values('0851205','赵辉','','87.5.6','群众')

insert X_student

values('0851206','周敏','','89.11.25','党员')

select *from X_student

truncate table X_student

select *from X_student

delete from X_student

*****************************************

select sex,count(sex)人数from X_student group by sex

select * from X_student

*****************************************

 use student

 go

select x_student.s_number,s_name,sex,c_number,score from x_student,score

where x_student.s_number=score.s_number

=========================================

use student

go

select x_student.s_number,s_name,c_number,score

  from x_student inner join score

  on  _student.s_number=score.s_number

****************************************

use student

go

select *from score

select *from score where score>80

select *from score where score=80

select *from score where score between 80 and 90

select *from score where c_number='011'

order by score asc

========================================

select *from score where c_number='011'

order by score desc

****************************************

use student

go

create table student3

(

 number char(10)primary key,

 name  char(8),

 sex char(2),

 birthday datetime,

 polity char(4)

)

select *from student3

insert into student3

values('0851201','李丽','','1990.5.6','党员')

insert into student3

values('0851202','莉莉','','1990.5.6','团员')

insert into student3

values('0851203','丽丽','','1990.5.6','群众')

===============================================

select *from student3

===============================================

insert student3

values('0851204','高丽','','1987.5.7','党员')

================================================

select *from student3

===============================================

delete from student3

where name='莉莉'

================================================

select *from student3

***********************************************

use student

go

select*from X_student

union

select *from student3

==============================================

truncate table student3(清除表中所有记录)

select *from student3

select *from X_student

drop table student.dbo.student3

============================================

use student

go

select*from X_student where s_number=any

(select s_number from score

group by s_number

having count (c_number)>=1

)

*********************************************

insert X_student

values('0851223','敏敏','','1988.3.6','党员')

insert X_student

values('0851230','周杰','','1989.12.25','团员')

select *from X_student

***********************************************

update X_student

set polity='群众'

where s_name='0851223'

select *from X_student

=============================================

delete from X_student

where s_name='周杰'

select *from X_student

***********************************************

insert into X_student

values('0851207','李丽','','1989.2.3','党员')

select *from X_student

==============================================

delete from X_student

where s_name='李丽'

select *from X_student

============================================

use student

go

create table student6(

 number char(10),

 name char(8),

 sex char(2)default'',

phonenum int

)

==========================================

create table student5

(

 number char(10),

name char(8),

sex char(2),

phonenum int,

constraint check_sex check(sex in ('',''))

)

=========================================

create table student4

(

  number char(10) primary key,

name char(8),

sex char(2),

birthday datetime ,

polity char(4),

constraint unike_name unique(name)

)

===========================================

use student

go

create table student2

(

  number char(10) not null,

 name char(8),

 sex char(2),

 phonenum int

)

 ******************************************

select *from X_student where polity='团员'

select *from X_student where s_name like '%'

select*from X_student where polity='团员'and sex=''

select*from X_student where polity='党员'and sex=''

=======================================

create table student7

(

number char(10) not null,

 name char(8),

 sex char(2),

birthday datetime,

 phonenum int

)

select*from X_student

select*from student7

drop table student.dbo.student7

 =======================================

select top 50 percent s_number,s_name,sex,birthday,polity into student7

from X_student

select*from student7

drop table student.dbo.student7

======================================

select*from X_student

======================================

select top 20 percent s_number,s_name,sex,birthday,polity into student8

from X_student

select*from student8

***************************************

use student

go

sp_help student

====================================

use student

go

sp_help

************************************

use student

go

create table student6(

 number char(10),

 name char(8),

 sex char(2)default'',

phonenum int

)

===================================

create table student5

(

 number char(10),

name char(8),

sex char(2),

phonenum int,

constraint check_sex check(sex in ('',''))

)

====================================

create table student4

(

  number char(10) primary key,

name char(8),

sex char(2),

birthday datetime ,

polity char(4),

constraint unike_name unique(name)

)

=====================================

use student

go

create table student3

(

 number char(10)primary key,

 name  char(8),

 sex char(2),

 birthday datetime,

 polity char(4)

)

====================================

use student

go

create table student2

(

  number char(10) not null,

 name char(8),

 sex char(2),

 phonenum int

)

=====================================

select top 3 *from X_student

*************************************

select *from score

select *from score where score<60

select *from score where score<70

select *from x_student where polity='党员'

select *from x_student where polity='党员'and sex=''

select *from x_student where s_name like'%'

======================================

select c_number as 学号,count(c_number)选修课程数from score

group by c_number

having count(c_number)>=2

**************************************************

use student

go

SELECT     s_number, s_name, sex

FROM         dbo.student7

WHERE     (s_name LIKE '%')

ORDER BY sex

==================================================

SELECT     s_number, s_name, sex,polity,birthday

FROM         dbo.X_student

WHERE     (s_name LIKE '%')

ORDER BY sex

================================================

SELECT  s_number, s_name, sex,polity,birthday

FROM         dbo.X_student

WHERE     s_name LIKE '%'

ORDER BY sex

**********************************************

(SCORE表中插入数据)

select *from score

truncate table score

insert into score

values('0851201','10010218',82)

insert into score

values('0851202','10010218',75)

insert into score

values('0851203','10010218',93)

insert into score

values('0851204','10010218',59)

insert into score

values('0851205','10010218',82)

insert into score

values('0851206','10010218',77)

insert into score

values('0851207','10010218',52)

insert into score

values('0851208','10010218',68)

insert into score

values('0851209','10010218',60)

insert into score

values('0851201','30020215',82)

insert into score

values('0851202','30020215',68)

insert into score

values('0851203','30020215',75)

insert into score

values('0851104','30020215',58)

select *from score

***********************************************

use student

go

create table course1

(

 C_number char (10),

c_name char(30),

hours int,

credit real

)

go

select *from score

select *from course1

insert   course1

values('10011218','高等数学',140,4)

insert into course1

values('40050405','基于ACCESS数据库设计',64,3)

insert   course1

values('20050421','专业英语',54,2.5)

insert into course1

values('40051060','关系型数据库原理',48,2)

insert into course1

values('30020215','单片机原理',64,3)

insert into course1

values('10011218','高等数学',140,4)

 因为没有主键约束,所以可以反复插入,

 并且表中呈现多个相同的记录

select *from course1

truncate table course1

delete from course1

此两条删除语句等价,都删除表中记录,而不删除表,删除表用:

drop table student.dbo.course1

创建表:

use student

go

设置主键约束保证了确保了纪录的唯一性

create table course

(

 c_number char (10) primary key,

 c_name char(30),

 hours int,

 credit real

)

go

select *from course

drop table student.dbo.course

insert   course

values('10011218','高等数学',140,4)

insert into course

values('40050405','基于ACCESS数据库设计',64,3)

insert   course

values('20050421','专业英语',54,2.5)

insert into course

values('40051060','关系型数据库原理',48,2)

insert into course

values('30020215','单片机原理',64,3)

********************************************

insert course

values('10021202','我的数据库',45,3)

delete from course

where C_number='10021202'

不加条件限制,会删除表中所有记录

select *from course

============================================

select *from X_student

************************************* ????

use student

go

创建视图:

create view view_score

as

select X_student.s_number,X_student.s_name,

course.c_name,score.score

from

X_student,course,score

where X_student.s_number=score.s_number

and course.c_number=score.c_number

and left(X_student.s_number,5)='08512'

====================================

select *from view_score

**************************************

use student

go

create view view_score_good1

with encryption

as

select x_student.s_number,

       x_student.s_name,

       course.c_name,

       score.score

from

x_student,course,score

where x_student.s_number=score.s_number

and  course.c_number=score.c_number

and score between 70 and 80

================================

select *from view_score_good1

采用encryption对视图进行加密

use student

go

create view view_score_not_well

with encryption

as

select _student.s_number,

       x_student.s_name,

       course.c_name,

       score.score

from

x_student,course,score

where x_student.s_number=score.s_number

and  course.c_number=score.c_number

and score <70

==============================

select *from view_score_not_well

==============================

在视图中加一个条件,只显示高等数学

不及格的学生信息

use student

go

alter view view_score_not_well

with encryption

as

select x_student.s_number,

x_student.s_name,

course.c_name,score.score

from

x_student,course,score

where x_student.s_number=score.s_number

and course.c_number=score.c_number

and course.c_name='高等数学'

and score<60

select *from view_score_not_well

重命名视图:

sp_rename   view_score_not_well,view_score_not_well_高等数学

sp_rename   view_score_not_well_高等数学,view_score_not_well

===================

use student

go

sp_helptext view_score_not_well

因为视图加密,所以不能查看视图的定义信息

******************************************

use student

go

create view view_score_sunandaverage1

as

select substring(x_student.s_number,1,len(X_student.s_number)-2)as 班级,

course.c_name as 课程名称,

sum (score) as 总分,

avg (score)as 平均分

from

x_student,course,score

where x_student.s_number=score.s_number

and course.c_number=score.c_number

group by

substring(x_student.s_number,1,len(x_student.s_number)-2),

course.c_name

select*from view_score_sunandaverage1

******************************************

use student

go

create view view_score_sumandaverage0

as

select substring(x_student.s_number,1,len(x_student.s_number)-2)as 班级,

course.c_name as 课程名称,

sum (score) as 总分,

avg (score)as 平均分

from

x_student,course,score

where x_student.s_number=score.s_number

and course.c_number=score.c_number

group by

substring(x_student.s_number,1,len(x_student.s_number)-2),

course.c_name

=========================================

select*from view_score_sumandaverage0

删除视图:

drop view view_score_sumandaverage0

使用sp_helptext显示视图在系统表中的定义:

sp_helptext view_score_sumandaverage0

*******************************************

use student

go

使用系统存储过程sp_help,显示视图的特征信息

sp_help view_score

use student

go

使用sp_helptext,显示视图在系统表中的定义

注意:如果在创建视图时,对视图的定义进行了加密,则不能查看视图的定义信息

sp_helptext view_score

××××××××××××××××××××××××××××××××××××

use student

go

显示视图所依赖的对象

sp_depends view_score

sp_depends view_score_good

sp_depends view_score_sunandaverage

sp_depends view_score_not_well

************************************

use student

go

create view view_x_student_08512

(s_number,s_name,sex,birthday,polity)

as

select s_number,s_name,sex,birthday,polity

from X_student

where s_number like '08512%'

=====================

select *from  view_x_student_08512

=====================

insert into view_X_student_08512

values('0851233','何贝','','1988.6.9','团员')

insert  view_X_student_08512

values('0851232','何楠','','1988.9.1','党员')

insert into view_x_student_08512

values('0851233','何贝','','1988.6.9','团员')

insert   view_x_student_08512

values('0851232','何楠','','1988.9.1','党员')

====================

select *from  view_x_student_08512

select *from X_student

在视图中插入的数据,最终实质插入到了表中

select *from  view_x_student_08512

select s_number,s_name,sex,birthday,polity

from  view_x_student_08512

以上三条语句得到同样结果

==========

select*from student

============

用汉字显示字段名:

select s_number as学号,姓名=s_name ,sex 性别,birthday 出生日期

from _student

where s_number like'08512%'

============

use student

go

create view view__student_2008512_

as

select *from _student

where s_number like'08512%'

and sex =''

go

显示表中所有记录:

 select *from _student

====================================

删除视图:

 drop view  view_X_student_2008512_

=====================================

select *from view__student_2008512_

where sex=''

select *from view__student_08512

where sex=''

此两条语句等价,都显示男生信息

================

select *from view__student_08512

此条语句显示表中所有记录

===============================

insert into view_x_student_2008512_

values('0851212','王丽','','1988.5.9','党员')

insert into view_x_student_2008512_

values('0851212','王楠','','1988.5.9','团员')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值