创建数据库,表,插入,更新,删除

 1 --1.创建一个数据库
 2 create database School ;
 3 
 4 --删除数据库
 5 DROP DATABASE SCHOOL
 6 
 7 --创建数据库的时候,指定一些数据库的相关参数,比如大小,增长方式、文件保存的路径
 8 create database School 
 9 on primary    --主数据文件 *.mdf
10 (
11     --数据库的逻辑名称
12     name='School' ,
13     size = 10M ,
14     filename = 'c:\school.mdf' ,
15     filegrowth = 10% ,
16     maxsize = 100mb
17 )
18 log on    --日志文件 *.ldf
19 (
20     name='School_log' ,
21     filename = 'c:\school.ldf',
22     size = 5mb,
23     filegrowth = 2mb,
24     maxsize = 50mb
25 )
26 go    --批处理执行
27 --切换数据库
28 use School --点击F5执行sql语句,先选中,就会执行选中的代码,如果没有选中,直接F5会将当前打开的代码都执行
29 
30 --为数据库创建表
31 --创建一个班级表
32 create table TblClass
33 (
34     --创建好了一列
35     --列名,数据类型,约束(自动编号、主键、外键、默认值等等)
36     ClassId int identity(1,1) primary key,
37     ClaName varchar(50) not null,
38     ClaDesc varchar(500)
39 )
40 go
41 --删除 TblClass表
42 drop table TblClass 
43 go
44 --创建一个TblStudent表
45 create table TblStudent
46 (
47     stuId int identity(1,1) primary key,
48     stuName nvarchar(50) not null,
49     stuGender bit not null,
50     stuAddress varchar(200),
51     stuPhone varchar(50),
52     stuAge int,
53     stuBirthday datetime,
54     stuIdNumber varchar(20),--身份证号码
55     stuClsId int 
56 )
57 go
58 --通过sql语句向TblClass表中插入数据
59 insert into TblClass(ClsName,ClsDesc)
60 values('黑马三期','没有二期NB')
61 go
62 --通过select 语句来查询表中的数据
63 select ClaName,ClsDesc,ClsId from TblClass
64 select * from TblClass
65 --ctrl + R 
66 --控制结果窗口的显示与影藏

 二、显示数据库中有多少表

sp_tables

三、插入语句

 1 --1.最基本的插入
 2 insert into TblTeacher(tname,tgender,tage,tsalary,tbirthday)
 3 values('杨中科',1,18,100000,'2010-09-9')
 4 
 5 --2.只想某些列插入数据,这时的前提是其他列可以为null或者是有默认值的情况
 6 insert into TblTeacher(tname,tsalary)
 7 values ('苏坤',500000)
 8 
 9 --当向表中的除自动编号外的所有其他列都插入数据的时候,这是可以省略列名
10 insert into 
11 values('杨中科',1,18,100000,'2010-09-9')
12 
13 --3.为自动编号插入数据
14 set IDNETITY INSERT TblTeacher on
15 insert into TblTeacher(tid,tname,tsalary)
16 values (100,'bob',500000)
17 
18 --insert into ...values 这种写法每次只能插入一条数据
19 insert into TblTeacher
20 select 'Chris',1,20,2000000,'1999-9-9' union
21 select 'James',1,20,2000000,'1990-9-9' union
22 select 'Tom',1,20,2000000,'1990-9-9'
23 
24 --union关键字本身就具有去掉重复的意思
25 --union(去掉重复)\union all(不去掉重复)
26 select 'Chris',1,20,2000000,'1999-9-9' union
27 select 'James',1,20,2000000,'1990-9-9' union
28 select 'James',1,20,2000000,'1990-9-9' union
29 select 'James',1,20,2000000,'1990-9-9' union
30 select 'Tom',1,20,2000000,'1990-9-9' union
31 select 'Tom',1,20,2000000,'1990-9-9' union
32 select 'Tom',1,20,2000000,'1990-9-9'
33 
34 select 'Chris',1,20,2000000,'1999-9-9' union all
35 select 'James',1,20,2000000,'1990-9-9' union all
36 select 'James',1,20,2000000,'1990-9-9' union all
37 select 'James',1,20,2000000,'1990-9-9' union all
38 select 'Tom',1,20,2000000,'1990-9-9' union all
39 select 'Tom',1,20,2000000,'1990-9-9' union all
40 select 'Tom',1,20,2000000,'1990-9-9'
41 
42 --将一个表中的数据备份到另外一个表中
43 --将TblTeacher表中的数据备份到NewTblTeacher
44 --这种写法会将TblTeacher表中的所有数据都插入到NewTblTeacher表中
45 --前提是NewTblTeacher表不存在,如果这个表存在则报错
46 select * into NewTblTeacher from TblTeacher
47 
48 --修改表中的列
49 alter table t2 alter column userName nvarchar(50)
50 
51 --向一个已经存在的表中插入数据,数据的来源是另外一张表
52 insert into NewTblTeacher(tname,tage) 
53 select tname,tage from TblTeacher 

 

四、更新语句

 1 --将所有年龄小于20岁的人的年龄都改成19
 2 update TblTeacher set tage = 19 where tage < 20
 3 
 4 --将年龄为20岁的人的年龄+1
 5 update TblTeacher set tage = tage + 1 where tage = 20
 6 
 7 --把所有人的工资都改成2000
 8  update TblTeacher set tsalary = 2000
 9  --1.对数据库操作前,一定要做备份
10  --2.细心
11  --数据库备份和还原
12  --数据库右键->任务->备份->还原
13  --把表中所有的年龄为19岁的同学的姓名两边加个☆,姓名=女,工资都+500
14  --SQL 2008 可以写成+=,但是尽量用通用的语法 tsalary = tsalary+500
15  update TblTeacher set tname =''+tname+'',tgender=0,tsalary = tsalary+500
16  where tage = 19
17  
18  --将年龄为19岁的,并且性别为0的,把☆换成★
19  update TblTeacher set tname=REPLACE(tname,'','') where tage = 19 and tgender = 0
20  
21  --l逻辑运算符的优先级问题:not > and > or
22  tsage>10 and tsage<50 or tname='zs' and (not(tbirthday>'200-10-10'))

五、删除数据

 1 --根据条件删除数据
 2  delete from TblTeacher where tage=19 or tage is null
 3  
 4  --删除所有数据
 5  delete from TblTeacher
 6  --删除所有数据并且恢复自动增长,最开始的值
 7  truncate table TblTeacher
 8  --区别:
 9  --1.delete 语句删除数据的时候,自动编号没有恢复到默认值,但是truncate语句重新设置了自动编号
10  --2.通过truncate 语句删除表中的数据的时候,只能拿一次性都清空,不能根据条件删除,而delete可以根据条件来删除
11  --3.truncate语句清空表中的数时,速度(性能)比delete语句快的多的多

 

 

 

posted on 2013-07-10 21:56  大钢  阅读(366)  评论(0编辑  收藏  举报

导航