《数据库系统概论》课程学习(3)——第三章 关系数据库标准语言SQL

SQL(Structured Query Language)结构化查询语言。

本课程以SQL Server 2005为应用背景。

学习建议:一定要习惯使用帮助

SQL Server 的安装、启动和身份验证。

  • 1、安装。
  • 2、SQL Server 服务的启动:开始→程序→Microsoft SQL Server 2005→配置工具→SQL Server Configuration Manager
  • 3、启动:开始→程序→Microsoft SQL Server 2005→SQL Server Management Studio
  • 4、两种身份验证:Windows身份验证和SQL Server身份验证。

SQL Server 系统数据库

  • 1、master 数据库:主要记录了SQL Server的所有系统信息。
  • 2、tmpdb 数据库:为临时表和其他临时存储需求提供存储空间。
  • 3、model 数据库:建立所有用户数据库的模板。
  • 4、msdb 数据库:数据库在SQL Server代理程序调度报警和作业时使用

数据库的创建与使用

create database test
on (name = testdata, filename = 'e:\lxd\td.mdf')
log on (name = testlog, filename = 'e:\lxd\tdlog.ldf')

参数name:数据库文件逻辑名,它必须在全部数据库逻辑名中唯一。

参数filename:存储数据和日志的物理文件名及路径。

注意:数据文件后缀mdf,日志文件后缀ldf

附加某些参数的Create Database命令

create database new_db
        on primary
        ( name = new_db,
          filename = 'd:\new_db.mdf',
          size = 5mb,
          maxsize = 50mb,
          filegrowth = 10% )

该命令自动建立日志文件。

使用某数据库命令:use new_db

数据库的修改与维护

1、修改数据库数据文件的初始大小

    alter database new_db
    modify file
    ( name = new_db,
      size = 15mb )

注意:数据库逻辑名必须与最初数据库定义时的逻辑名一致。

2、修改数据库名

exec sp_renamedb 'new_db',  'old_db'

调用存储过程,第一个参数为原数据库名,第二个参数为新数据库名。

3、删除数据库

drop database old_db

4、查看系统中有哪些数据库

exec sp_helpdb

5、查看new_db数据库定义信息

exec sp_helpdb new_db

数据库的分离、附加与备份、还原

1、分离数据库

exec sp_detach_db new_db

2、附加数据库

    create database new_db on 
    ( filename = 'd:\new_db.mdf' ),
    ( filename = 'd:\new_db_log.ldf' )
    for attach

注意:一旦将数据库分离,则该数据库将不能对外提供服务。

3、备份数据库

    backup database new_db
    to disk = 'e:\lxd\test.bak'

4、还原数据库

    restore database new_db
    from disk = 'e:\lxd\test.bak'

关系模式的设计

常用数据类型

常用数据

类型

含义

char(n)

长度为n的定长字符串

varchar(n)

最大长度为n的变长字符串

bigint

大整型(8字节)

int

整型(4字节)

smallint

短整型(2字节)

tinyint

微整型(1字节)

decimal(p,s)

numeric(p,s)

定点数,由p位十进制数位(小数位占s位)构成的数。1<=p<=38,默认为19;0<=s<=p,默认为0。

money

8字节整数,精确到万分之一。

smallmoney

4字节整数,精确到万分之一。

float[(n)]

浮点数,尾数位数为n,1<=n<=53,默认为53。

real

等同于float(24)

datetime

时间日期型。格式化为YYY-MM-DD HH:MM:SS。精确到3.33毫秒。

smalldatetime

同datetime,精确到1分钟。

text

存储大容量长度可变字符串

基本表的定义

查看表的基本定义信息:

exec sp_help student

基本表数据的录入

基本表的常用维护操作

1、表重命名

exec sp_rename 'Student', 'stu'

2、列重命名

exec sp_rename 'Student.Sname', 'name', 'column'

3、添加新列

alter table Student add Sentrance datetime

注意:新增列的数据为空。

4、更改列数据类型

alter table Student alter column Sage int

注意:若表中已有数据,数据类型不相容时不能进行列数据类型的更改。

5、删除列

alter table Student drop column Sentrance

6、删除表

drop table Student

注意:若该表与其它表关联(如外键的参照等),则删除失败。

7、对表的常用维护操作还包括对表中约束的增删改问题,以后专门介绍。

数据查询

选择表中的若干列

1、查询全体学生的学号与姓名

select sno, sname
from student

2、查询学生表的全部属性数据

select *
from student

3、查询学校有哪些系

select sdept
from student

问题:查询结果取消重复行吗?

结论:保留重复的元组。

4、取消查询结果中的重复元组

select distinct sdept
from student

问题:该语句该如何理解?

select distinct sdept, ssex
from student

结论:distinct关键词修饰后面的整个属性组

注意:SQL Server不区分大小写

属性列可以是表达式

问题:什么是表达式?

常量和变量是表达式;常量、变量、运算符、括号及函数的有效组 合是表达式。

1、查询全体学生的姓名与出生年份

select sname, 2012-sage
from student

2、查询结果是什么?

    select sname, 'Year of Birth', 2011-sage, lower(sdept)
    from student

3、问题:你知道SQL Server中都提供了哪些函数吗?查帮助啊!

属性列的别名

利用属性别名可改变查询结果的列标题名称,当然还可用于方便或清晰 表示查询命令的作用。

例如:

select sname NAME, 2011-sage BIRTHDAY
from student
select 'Year of Birth' as birth, lower(sdept) as dept
from student

as 可省略

返回查询结果的前n行数据

利用 top n 可以得到查询结果的前n行记录的数。


                
  • 4
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值