Chapter 2. SQL Server数据库表的基本操作

Posted 庚xiao午

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Chapter 2. SQL Server数据库表的基本操作相关的知识,希望对你有一定的参考价值。

--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触发器

 

以上是关于Chapter 2. SQL Server数据库表的基本操作的主要内容,如果未能解决你的问题,请参考以下文章

《Pro SQL Server Internals》——CHAPTER2 节 (P36-P45) 翻译

Pro SQL Server Internals, 2nd edition》CHAPTER 1 Data Storage Internals节选翻译

《Pro SQL Server Internals, 2nd edition》的CHAPTER 3 Statistics中的Introduction to SQL Server Statistics(

十五周翻译《Pro SQL Server Internals, 2nd edition》 CHAPTER 7

翻译:《Pro SQL Server Internals, 2nd edition》CHAPTER 7 Designing and Tuning the Indexes

《Pro SQL Server Internals, 2nd edition》的CHAPTER 1 Data Storage Internals中的Data Pages and Data Rows(翻