数据库

  1. use master--转到系统数据库master
  2. go
  3. --判断系统sysdatabases中是否存在stu数据库
  4. if exists( select * from sysdatabases where name=‘stu‘)
  5. drop database stu--如果有则删除
  6. go--执行
  7. --创建数据库stu
  8. create database stu
  9. on
  10. (
  11.   name=‘stu.mdf‘,--数据库名称
  12.   filename=‘F:\stu.mdf‘,--数据库所在路径
  13.   filegrowth=10%,--按10%自增长
  14.   size=5  --SQL Server 2012最小内存为5M
  15. )
  16. log on
  17. (
  18.   name=‘stu.ldf‘,
  19.   filename=‘F:\stu.ldf‘,
  20.   filegrowth=10%,
  21.   size=5
  22. )
  23. go
  24. --判断系统sysobjects中是否存在class表
  25. if exists(select * from sysobjects where name=‘class‘)
  26. drop table class
  27. --创建class表
  28. create table class
  29. (
  30.   c_id int primary key identity(1,1),--班级id为主键并且是自增长列;primary key:主键约束;identity(1,1):自增长列,标识种子为1,标识增量为1
  31.   c_name varchar(10) not null--班级名称;非空约束:not null
  32. )
  33. go
  34. --一次添加一条数据
  35. --语法:insert into 表名 values(‘数据‘)
  36. --values(‘‘)内根据表里需要添加的数据,对应表的列名多少填写
  37. insert into class values(‘2014271‘)
  38. insert into class values(‘2014272‘)
  39. insert into class values(‘2014273班‘)
  40. --一次添加多条数据
  41. --语法:
  42. --insert into 表名
  43. --select ‘数据‘ union all
  44. --select ‘数据‘ union all  
  45. --select ‘数据‘
  46. --select ‘‘内根据表里需要添加的数据,对应表的列名多少填写
  47. --最后一条添加语句不需要用union拼接,all按顺序添加数据  
  48. insert into class
  49. select ‘2014274‘ union all
  50. select ‘2014275‘ union all
  51. select ‘2014281‘
  52. --查询class表数据
  53. select * from class
  54. --修改数据,将2014273班改为2014273
  55. --语法:update 表名 set 要修改值的列名=‘要修改值的内容‘ where 要修改内容的唯一不变的列名=要修改内容的那一行id
  56. update class set c_name=‘2014273‘  where c_id=3
  57. --删除数据,将2014281删除
  58. --语法:delete from 表名 where 要删除内容的唯一不变的列名=要删除内容的那一行id
  59. delete from class where c_id=6
  60. --判断系统sysobjects中是否存在student表
  61. if exists(select * from sysobjects where name=‘student‘)
  62. drop table student
  63. --创建student表
  64. create table student
  65. (
  66.   s_id int primary key not null ,--学生id为主键并且是自增长列;primary key:主键约束;identity(1,1)自增长列 标识种子为1,标识增量为1
  67.   s_name varchar(20) not null,--姓名;非空约束 not null
  68.   s_gender varchar(2) check(s_gender in(‘男‘,‘女‘)),--性别;检查约束:性别要么是男要么是女,check(条件),条件是:s_gender in(‘男‘,‘女‘)
  69.   s_age int check(s_age between 15 and 28),--年龄;检查约束:年龄在15到28之间,check(条件),条件是:s_age between 15 and 28
  70.   s_c_id int foreign key references class(c_id) not null,--班级id;外键约束:foreign key references class(c_id) 解释:修改表 student,为他添加一个外键约束.这个约束建在本表的c_id列上. 参考的是class表的id列;非空约束:not null
  71.   s_score int check(s_score >-1 and s_score<101) not null,--分数,检查约束:分数大于-1并且小于101,check(条件),条件是:s_score >-1 and s_score<101
  72.   s_hobby varchar(25) not null,--爱好,非空约束 not null
  73.   s_adds varchar(50) not null--住址,非空约束 not null
  74. )
  75. go
  76. -- unique是唯一约束
  77. --一次添加一条数据
  78. --语法:insert into 表名 values(‘‘)
  79. --values(‘‘)内根据表里需要添加的数据,对应表的列名多少填写
  80. insert into student values(‘271001‘,‘王建‘,‘男‘,‘18‘,1,‘0‘,‘吃饭 睡觉‘,‘湖北襄阳‘)
  81. insert into student values(‘272001‘,‘李宁宁‘,‘男‘,‘20‘,2,‘100‘,‘睡觉 打豆豆‘,‘湖北荆州‘)
  82. insert into student values(‘272002‘,‘李娜娜‘,‘女‘,‘19‘,2,‘100‘,‘睡觉 打豆豆‘,‘湖北襄阳‘)
  83. --一次添加多条数据
  84. --语法:
  85. --insert into 表名
  86. --select ‘数据‘ union all
  87. --select ‘数据‘ union all  
  88. --select ‘数据‘
  89. --select ‘‘内根据表里需要添加的数据,对应表的列名多少填写
  90. --最后一条添加语句不需要用union拼接,all按顺序添加数据  
  91. insert into student
  92. select ‘273003‘,‘王建娜‘,‘女‘,‘19‘,3,‘90‘,‘吃饭 打豆豆‘,‘湖北十堰‘ union all
  93. select ‘274002‘,‘李伟‘,‘男‘,‘20‘,4,‘0‘,‘吃饭 睡觉 打豆豆‘,‘湖北十堰‘ union all
  94. select ‘275003‘,‘王宁宁‘,‘女‘,‘18‘,5,‘90‘,‘睡觉 打豆豆‘,‘湖北荆州‘
  95. --class表和student表进行联查
  96. select s_id 学号,s_name 姓名,s_gender 性别,s_age 年龄,c_name 班级,s_score 成绩,s_hobby 爱好,s_adds 住址
  97. from class,student where c_id=s_c_id

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。