1、选课(学号,课程号,成绩)二创建数据库SQL1.创建数据库 Create database 数据库名 On ( name =逻辑文件名,Filename=物理文件名,Size=初始文件大小,Maxsize=最大文件大小,Filegrowth=文件自动增量 )Log on ( name =逻辑文件名,Filename=物理文件名,例 创建教务管理数据库 Create database 教务管理数据库 ( name =教务管理_dat,Filename=E:SQL教务管理_dat.mdf,Size=2,Filegrowth=1 )( name =教务管理.log,SQL教务管理_log.ldf,S
2、ize=5M,Filegrowth=10% )1.查看数据库属性1)使用sp_helpdb查看数据库信息 : sp_helpdb 数据库名(2)使用sp_databases 查看可使用的数据库信息: sp_databases(显示所有可以使用的数据库名称和大小)(3)使用sp_helpfile查看数据库文件信息 sp_helpfile 文件名1.设置数据库选项 Alter database 数据库名 Set 选项例 设置 教务管理数据库自动收缩 Alter database 教务管理数据库 Set auto_shrink on (自动收缩)1.修改数据库大小Alter database 数据库
3、名Add file 增加数据文件Add log file 增加日志文件Remove file 删除文件Modify file 修改文件( )例 1.修改教务管理数据库,增加数据文件jwgl_dat1 Add file ( Name=jwgl_dat1, Filename=E:SQLjwgl_dat1.ndf, Size=2MB, Filegrowth=1MB )2.修改教务管理数据库 Modify file ( Size=5MB )2.删除教务管理数据库中次要数据文件jwgl_dat1 Remove file jwgl_dat11.数据库更名1)更改数据库名Modify name = 新数据库
4、名例 将数据库test更名为mytest Alter database test Modify name = mytest1)更改数据库的逻辑文件名 Modify file( Name=逻辑文件名, Newname=新逻辑文件名 )例 将数据库逻辑文件test更名为mytest Alter database mytest Name = test, Newname = mytest ) Go Alter database mytest Name = test_log, Newname = mytest_log ) 1)更改数据库的物理文件名 Filename =新路径操作系统文件名 )例 将数据
5、库物理文件test更名为mytest Name=mytest, Filename =E:sqlmytest.mdf ) GO Name=mytest_log,sqlmytest_log.ldf )1.删除数据库 Drop database 数据库名例 删除数据库名为test和数据库sales Drop database test,sales1.数据库分离 Sp_detach_db 数据库名1.数据库附加 Create database 数据库名 On ( Filename=主文件的物理文件名) For attach三基本表操作1.创建表Create table 表名()例 创建一个学生表Cre
6、ate table 学生表(学号 char(6) primary key, 姓名 char(20) unique, 性别 char(2), 年龄 smallint, 所在系 char(20)1.修改表Alter table 表名Add 列名 数据类型()/增加列(alter column 列名 数据类型()/对原有的基础上修改列)(drop column 列名 /对原有的基础上删除列,可一次删除多列)例1. 添加一新列电子邮箱 char型 长度20 Alter table 学生表 Add 电子邮箱 char(20)例2. 修改学生表列 电子邮箱数据类型长度为22 alter column 电子
7、邮箱 varchar(22)例3.删除学生表的电子邮箱列 drop column 电子邮箱3.删除表Drop table 表名例 删除学生表 Drop table 学生表四数据更新1.插入数据 Insert Into 表名 () Values 值()例1 插入一行数据到学生表的学生 Into 学生表(学号,姓名,性别,年龄,所在系) Values (201215126,张成民,男,18,计算机系)1.修改数据 Update 表名 Set 列名=表达式 Where 条件1)修改某元祖的值 例 将学生201215121的年龄改为22 Update 学生表 Set 年龄=22 Where 学号=20
8、12151211)修改多个元祖的值 例 将所有学生年龄增加一岁 Set 年龄=年龄+11)带子查询的修改语句 例 将计算机科学系全体学生成绩置零 Update 选课表 Set 成绩=0 Where 学号 in (select 学号 From 学生表 Where 所在系=计算机科学系)1)修改表名 Sp_rename 旧对象名,新对象名 例 课程表更名为课程信息表 Sp_rename 课程表,课程信息表3.删除数据 Delete from 表名 例 将课程信息表中c程序设计课程信息删除 Delete From 课程信息表 Where 课程名=c程序设计五使用约束1.非空约束(NOT NULL)例
9、 创建一个学生表 使姓名,性别 为非空约束 学号为主键 姓名 char(20) NOT NULL, 性别 char(2)NOT NULL,1.唯一约束(UNIQUE)例 创建一个学生表 使姓名,性别 为唯一约束 学号为主键 姓名 char(20) UNIQUE, 性别 char(2)UNIQUE, )1.Check约束(检查列值是否满足一个条件表达式)1. 完整性约束命令子句 Constraint 完整性约束条件名(包括非空 主键 唯一 外键 check约束等) 约束条件例 1创建一个学生表 使性别 只允许为男或女,年龄在20到30之间 性别 char(2) CHECK(性别=男)or (性别
10、=女), 年龄 smallint CHECK(年龄between 20 and 30), 2 利用T-SQL命令设置课程表中的考核方式只能取值考试或考查,学分的值为1-6之间 Alter table 课程表 with check Add constraint CK_课程表_1 check(考核方式 in (考查,考试) Alter table 课程表 with nocheck Add constraint CK_课程表_2 check(学分 between 1 and 6)1.主键约束(PRIMARY KEY)(学号 char(6) primary key,(在列定义后设置主键)1.外键约束(
11、FOREIGN KEY) Constraint 约束名 FOREIGN KEY(列名) Reference 被引用表(列名) on delete cascade(级联删除)|on update cascade(级联更新)例 创建选课表 设置选课表的课程号为外键 引用课程表 课程号 Create table 选课表( 学号 char(6) primary key, 课程号 char(11) Reference 课程表(课程号)on update cascade, 成绩 numeric(5,1)7.默认约束(DEFAULT) Constraint 约束名 DEFAULT 常量表达式 可在创建表中 数据类型后直接加例 修改课程表 设置考核方式默认值为考试 Alter table 课程表 Add constraint df_课程表_考核 DEFAULT考试)for 考核方式
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1