Chapter 3. SQL Server数据库、表的基本操作(insert插入、update更新、delete、truncate删除语句)
--1.创建一个数据库 create database MyDatabaseOne --2.删除数据库 drop database MyDatabaseOne --3.创建数据库的时候设置一些参数选项 create database MyDatabaseOne on primary ( --配置主数据文件 name='MyDatabaseOne' ,--主数据文件的逻辑名称 filename='E:\MSSQLServer\MyDatebaseOne.mdf', --主数据文件的实际保存路径 size=5MB, --主数据文件的初始大小 maxsize=150MB, --主数据文件的最大大小 filegrowth=20% --主数据文件的增长值 ) log on ( --配置日志文件的选项 name='MyDatabaseOne_log',--日志文件的逻辑名称 filename='E:\MSSQLServer\MyDatabaseOne_log.ldf',--日志文件的实际保存路径 size=5MB, maxsize=150MB, filegrowth=20% )
--在数据库中创建表 use MyDatabaseOne /* 表1:可选修的课程表: (主)课程编号:Lcode int 课程名称:Lname varchar(20) 责任课教师:Lteacher varchar(20) 教师电话:Ltel varchar(20) */ create table Lessons ( Lcode int identity (1001,1) primary key, Lname varchar(20) not null, Lteacher varchar (20) not null, Ltel varchar(20) ) /* 表2:学生表: (主)学号:Scode int 姓名:Sname nvarchar(20) 性别:Sgender varchar(10) (外)系别:Sdepartment int (外)选修课程:Slesson int */ create table Students ( Scode int identity (2001,1) primary key, Sname nvarchar(20) not null, Sgender varchar(10) not null, Sdepartment int, Slesson int ) /* 表3:系院表 (主)系院编号:Dcode int 系院名称:Dname nvarchar(20) 系负责老师:Dteacher nvarchar(20) 系电话:Dtel varchar(20) */ create table Departments ( Dcode int identity (3001,1) primary key, Dname nvarchar(20) not null, Dteacher nvarchar (20) not null, Dtel varchar (20) )
--向课程表插入数据: --注:自动编号的列,默认自动增长,不需要插入值 insert into Lessons(Lname,Lteacher,Ltel) values ('图说历史','张秀丽','1234567') --注:向全部列(自动编号除外)插入值,可以省略列名不写,但插入的值顺序必须保持一致 insert into Lessons values ('计算机基础','张雪松','12345678') insert into Lessons values ('美国文学','李泽池','123456789') insert into Lessons values ('标准日本语','本田浩二','1234567890') select * from Lessons
--向院系表插入数据 insert into Departments values('计算机科学系','纪科','13843839438') insert into Departments values('英语系','英明','13843839434') insert into Departments values('音乐系','杨悦','13843839434') insert into Departments values('美术系','刘梅','13843839436') select * from Departments
--向学生表插入数据 insert into Students values ('张三','男',3001,1001) insert into Students values ('李四','女',3002,1001) insert into Students values ('王五','男',3003,1002) insert into Students values ('赵六','女',3004,1003) insert into Students values ('冯七','男',3001,1002) insert into Students values ('钱八','男',3002,1002) insert into Students values ('马丽','男',3001,1004) insert into Students values ('牛生','男',3001,1003) insert into Students values ('郭晓','女',3004,1002) insert into Students values ('杨明','男',3001,1004) insert into Students values ('顾凯','男',3003,1001) insert into Students values ('林琳','女',3003,1004)
--向自动编号的列插入值 --启动"自动编号列"手动插入值得功能 set identity_insert Students on insert into Students (Scode,Sname,Sgender) values (5000,'王雪','女') set identity_insert Students off select * from Students
--打开/关闭查询窗口:ctrl+r
--更新语句: --update 表名 set 列=新值,列2=新值2, . . . where 条件 --update语句,如果不加条件,表示对表中所有数据进行修改 --将表中性别为女的名字后显示(女) update Students set Sname=Sname+'(女)' where Sgender='女' select * from Students
--删除语句: --delete from 表名 where . . . --delete 语句如果不加where条件,表示将表中所有数据都删除 --删除Stuends中5000的数据 delete from Students where Scode=5000 --删除数据后,自动编号仍然默认继续编号 insert into Students values ('王雪','女',3001,1003) select * from Students
--删除表中全部数据: --truncate table 表名 --特点: --1. truncate语句不能跟where条件 --2. 使用truncate删除后,自动编号恢复到初始值 --3. 使用truncate删除表中所有数据要比delete效率高 --4. truncate删除数据,不触发delete触发器