sqlserver数据库—创建、建表、查询语句
SQL Server 2008数据库—创建、建表、查询语句
⼀、创建数据库
1、利⽤对象资源管理器创建⽤户数据库:
(1)选择“开始”—“程序”—Microsoft SQL Server 2008—SQL Server Management Studio命令,打开SQL Server Management Studio。
(2)使⽤“Windows⾝份验证”连接到SQL Server 2008数据库实例。
(3)展开SQL Server 实例,右击“数据库”,然后⼈弹出的快捷菜单中选择“新建数据库存”命令,打开“新建数据库”对话框。
(4)在“新建数据库”对话框中,可以定义数据库的名称、数据库的所有者、是否使⽤全⽂索引、数据⽂件和⽇志⽂件的逻辑名称和路径、⽂件组、初始⼤⼩和增长⽅式等。输⼊数据库名称student。
2、利⽤T-SQL语句创建⽤户数据库:
在SQL Server Management Studio中,单击标准⼯具栏的“新建查询”按钮,启动SQL编辑器窗⼝,在光标处输⼊T-SQL语句,单击“执⾏”按钮。SQL编辑
器就提交⽤户输⼊的T-SQL语句,然后发送到服务器执⾏,并返回执⾏结果。
创建数据库student的T-SQL语句如下:
Create data base student
On primary
(
name=student_data,
filename='E:\SQL Server2008
SQLFULL_CHS\Microsoft SQL Server\\MSSQL\DATA\', size=3,
maxsize=unlimited,
filegrowth=1
)
Log on
(name=student_log,
filename='E:\SQL Server2008
SQLFULL_CHS\Microsoft SQL Server\\MSSQL\DATA\', size=1,
maxsize=20,
filegrowth=10%
)
⼆、创建数据表
1、利⽤表设计器创建数据表:
(1)启动SQL Server Management Studio,连接到SQL Server 2008数据库实例。
(2)展开SQL Server实例,选择“数据库”—student—“表”,单击⿏标右键,然后从弹出的快捷菜单中选择“新建表”命令,打
开“表设计器”。
(3)在“表设计器”中,可以定义各列的名称、数据类型、长度、是否允许为空等属性。
(4)当完成新建表的各个列的属性设置后,单击⼯具栏上的“保存”按钮,弹出“选择名称”对话框,输⼊新建表名stu_info,SQL Server数据库引擎会依据⽤户的设置完成新表的创建。
2、利⽤T-SQL语句创建数据表:
Create table stu_info(
stu_id char(10)not null,
name nvarchar(20)not null,
birthday date null,
sex nchar(2)null,
address nvarchar(20)null,
mark int null,
major nvarchar(20)null,
sdept nvarchar(20)null
);
3、样本数据库student表数据:学⽣信息表(stu_info):
课程信息表(course_info):
学⽣成绩表(stu_grade):
三、完整性与约束
数据库中的数据是现实世界的反映,数据库的设计必须能够满⾜现实情况的实现,即满⾜现实商业规则的要求,这也是数据完整性的要求。
在数据库的管理系统中,约束是保证数据库中数据完整性的重要⽅法。
1、完整性:
数据完整性是数据库设计⽅⾯⼀个⾮常重要的问题,数据完整性代表数据的正确性、⼀致性和可靠性。实施数据完整性的⽬的在于确保数据的质量。
在SQL Server中,根据数据完整性措施所作⽤的数据
库对象和范围不同,可以将数据完整性分类为实体完整性、域完整性和参照完整性。
实体完整性把数据表中的每⾏看作⼀个实体,它要求所有的⾏都具有唯⼀的标识;域完整性要求数据表中指定列的数据具有正确的数据类型、格式和有效的数据范围;参照完整性维持被参照表和参照表之间的数据⼀致性。
2、约束:
约束是数据库中的数据完整性实现的具体⽅法。在SQL Server中,包括5种约束类型:primary key约束、foreign key约束、unique约束、check约束和default约束。
四、数据查询
1、查询语句:
查询就是根据客户端的要求,数据库服务器搜寻出⽤户所需要的信息资料,并按⽤户规定的格式进⾏整理后返回给客户端。查询语句select在SQL Server中是使⽤频率最⾼的语句,可以说select语句是SQL 语⾔的灵魂。
select语句的语法结构:
select select_list
[into new_table]
From table_source
[where search_condition]
[group by group_by_expression]
[having search_condition]
Order by order_expression[asc|desc]]
参数说明如下:
Select⼦句:指定由查询结果返回的列。
Into⼦句:将查询结果存储到新表或视图中。
From⼦句:⽤于指定数据源,即使⽤的列所在的表或视图。如果对象不⽌⼀个,那么它们之间必⽤逗号分开。
Where⼦句:指定⽤于限制返回的⾏的搜索条件。如果select语句没有where⼦句,dbms假设⽬标表中的所有⾏都满⾜搜索条件。
Group by⼦句:指定⽤来放置输出⾏的组,并且如果select⼦句select_list中包含聚合函数,则计算每组的汇总值。
Having⼦句:指定组或聚合函数的搜索条件。Having 通常与groupby⼦句⼀起使⽤。
Order by⼦句:指定结果集的排序⽅式。ASC关键字表⽰升序排列结果,DESC关键字表⽰降序排列结果。如果没有指定任何⼀个关键字,那么ASC就是默认的关键字。如果没有orderby⼦句,DBMS将根据输⼊表中的数据的存放位置来显⽰数据。
在这⼀系列的⼦句中,select⼦句和from⼦句是必需的,其他的⼦句根据需要都是可选的。
2、简单查询:
2.1、查询列:
(1)查询指定列:
数据表中有很多列,通常情况下并不需要查看全部的列,因为不同的⽤户所关注的内容不同。
创建唯一约束sql语句在指定列的查询中,列的显⽰顺序由select⼦句指定,与数据在表中的存储顺序⽆关;同时,在查询多列时,⽤“,”将各字段隔开。
例7-1、查询所有同学学号、姓名和成绩信息。Select stu_id,name,mark
from stu_info
查询结果如下:
(2)查询所有列:
使⽤“*”通配符,查询结果将列出表中所有列的值,⽽不必指明各列的列名,这在⽤户不清楚表中各列的列名时⾮常有⽤。服务器会按⽤户创建表格时声明列的顺序来显⽰所有的列。
例7-2、查询所有同学的所有信息。
select*
from stu_info
查询结果如下:
(3)使⽤运算列:
YEAR为系统函数,获取指定⽇期的年份;GEDDATE()为系统函数,获取当前⽇期和时间。
例7-3、查询所有同学的年龄信息。
Select
stu_id,name,YEAR(getdate())-YEAR(birthday)
from stu_info
查询结果如下:
(4)改变列标题显⽰:
通常在查询结果显⽰的列标题就是创建表时所使⽤的列名,但是,这在实际使⽤中往往会带来⼀些不便,因此,可以利⽤’列标题’=列名或as ‘列标题’ 来根据需要修改列标题的显⽰。
例7-4、查询所有同学的年龄信息。
Select name as'姓名
',YEAR(getdate())-YEAR(birthday)as'年龄'
from stu_info
查询结果如下:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论