SQL语法整理[1]——创建数据库
来源:互联网 发布:h5页面源码 编辑:程序博客网 时间:2024/06/16 18:40
SQL语法整理[1]——创建数据库
数据库在SQL Server2005的组成
SQL Server2005中的数据库由包含数据库表的集合,以及其他对象(视图、索引、存储过程、函数、触发器等)组成。
a.数据库组成实例
一个实例包含有4个系统数据库和若干个用户自定义数据库。
b.逻辑上文件组组成数据库
SQL Server2005中文件组分为两类:一类是主文件组,另一类是用户自定义文件组。
主文件组主要存储的是数据库的系统信息。
用户自定义文件组则存储着用户的数据信息。
逻辑组成从上到下可理解为:实例-数据库-文件组-对象
c.物理上看数据库的组成
数据库有两种文件组成:数据文件和日志文件。
主数据文件,扩展名是.mdf
二级数据文件,扩展名是.ndf
日志文件,扩展名是.ldf
d.系统数据库
master
model
tempdb
msdb
master数据库记录着SQL Server 2005系统中的所有系统级别信息,包括所有的登录账户和系统配置以及所包含的数据库、数据文件的位置。master数据库是SQL Server启动的第一个入口,是所有系统数据库中的重中之重,一旦master数据库损坏,那么SQL Server将无法启动。
model数据库是新建数据库的模板。当发出创建数据库的命令时,新的数据库的第一部分将通过复制model数据库的内容创建,剩余部分由空数据页填充。由于tempdb数据库在SQL Server每次启动时都要重新创建,所以model数据库在SQL Server 2005中也是必需的,不能缺少的。
tempdb数据库保存了所有的临时表和临时存储过程。默认情况下,SQL Server在运行时,tempdb数据库会根据需要自动增长。每次启动SQL Server时都要重新创建tempdb以便系统启动时,该数据库总是空的。在断开连接时会自动删除临时表和存储过程,并且在系统关闭后没有活动连接。因此tempdb中不会有什么内容从一个SQL Server会话保存到另一个会话。
msdb数据库提供SQL Server 2005代理程序调度、警报、作业以及记录操作员等活动。
SQL Server是遵循先写日志,再进行数据库修改的数据库系统。
每个数据库都必须包含一个也只能包含一个主数据文件.
数据库可以没有二级数据文件,也可以拥有很多二级数据文件,二级数据文件在实际工作中主要是存储用户自定义的信息。
每个数据库必须至少有一个日志文件.每个数据库可以有一个日志文件,也可以有多个日志文件。
注意:在创建数据库的时候,每个数据库文件之间都用逗号隔开,在LOG ON关键字之前的那个数据文件结束时,就没有逗号了。)
表概述
表:Table,列:Column,单元:Field
表分为两类:系统表和用户自定义表
临时表
临时表与永久表相似,但临时表存储在tempdb数据库中,但会话断掉之后会自动删 除。临时表是在SQL Server2005启动后,用户在操作数据库的时候创建生成的,在 断开与SQL Server2005服务连接或者关闭服务以后,临时表将自动删除
列的IDENTITY属性
为表列产生一个自动生成的序列,语法:IDENTITY[(seed,increment)]
命名规则
尽量不要用中文对数据库对象命名
数据库对象命名是不能够出现空格的,但可以用界定符号[]来加以限制去使用.
系统保留的关键字,也需要用界定符号[]来加以限制.
对表的基本操作
1.SQL
Structured Query Language
a.DDL(Data Define Language)
b.DML(Data Manufacturing Language)
c.DCL(Data Control Languange)
SELECT select_list
FROM table_name
[WHERE search_condition]
[ORDER BY order_expression[ASC|DESC]]
TOP字句
select top 2 name,age from student
DISTINCT \ BETWEEN \ IN \ NOT IN\COMPUTE \ COMPUTE BY
select * from parents where f_position in('worker','engineer')
select * from parents where f_position not in('worker','engineer')
COMPUTE BY与GROUP BY的比较
select f_position,count(f_telephone),count(m_telephone) from parents group by f_position
select f_position,f_telephone,m_telephone from parents order by f_position compute count(f_telephone),count(m_telephone) by f_position
(COMPUTE不仅将汇总的数据显示出来,同时还能将详细信息显示出来。
GROUP BY只能显示汇总的信息.)
模糊查询LIKE字句
通配符如下:
%(百分号):表示从0~n个任意字符.
_(下划线):表示单个任意字符.
[](方括号):表示方括号里列出的任意一个字符。
[^]:任意一个没有在方括号里列出的字符。
外联接
LEFT OUTER JOIN或LEFT JOIN \ RIGHT OUTER JOIN或RIGHT JOIN \FULL OUTER JOIN或FULL JOIN
(左外联接的结果集中除了包括满足条件的行外,还包括左表所有的行(左表中没有满足条件的以空值的形式出现))
INSERT [INTO]
Table_name(column_name)[,…n]
VALUES
(expression)[,…n]
a.使用列清单
例如:向学生表中插入一条学生信息.
INSETR INTO Student
(id ,[name], gender ,age , grade ,class , teacher_id, parents_id)
VALUES(2006008,'Songdan','女',22,1,4,101,2005)
b.省略列清单
例如:向学生表中插入一条学生信息.
INSETR INTO Student VALUES (2006009,'SD','女',23,1,1,101,2008)
UPDATE table_name
SET
{column_name={expression|DEFAULT|NULL}}
[WHERE {<search_condition>}]
修改多行数据
UPDATE Student
SET
teacher_id=103
WHERE
id IN
(
2006001,
2006002,
2006003
)
GO
DELETE [FROM] table_name
WHERE search_condition
TRUNCATE清空表
TRUNCATE TABLE table_name
DROP删除表
DROP TABLE table_name
——大二的期末考试整理 peace_power@126.com
- SQL语法整理[1]——创建数据库
- SQL入门(创建数据库语法)
- SQL语法整理[4]——视图
- SQL语法整理[6]——函数
- SQL语法整理[7]——触发器
- SQL语法整理[9]——索引
- Oracle数据库使用基本语法整理——(1)
- SQL语法整理[2]——用主外键实现表关联及数据库管理
- SQL语句 - 1 - 语法整理
- SQL语法整理[8]——SQL语言编程
- SQL语法——视图创建
- sql server 数据库系统整理——数据表的创建和管理
- 知识整理:sql创建数据库和表
- SQL语法整理[3]——表的管理
- SQL语法整理[5]——存储过程
- SQL语法整理[10]——事务与锁
- 数据库—SQL—基础整理
- SQL Server 语法 使用SQL语句创建数据库、表
- 《VC++深入详解》学习笔记[11]——第14章 网络编程
- 多线程并发服务器编程
- 《VC++深入详解》学习笔记[12]——第15章 多线程
- 《VC++深入详解》学习笔记[13]——第16章 线程同步与异步套接字编程
- 《VC++深入详解》学习笔记[14]——第17章 进程间通信
- SQL语法整理[1]——创建数据库
- SQL语法整理[2]——用主外键实现表关联及数据库管理
- SQL语法整理[3]——表的管理
- SQL语法整理[4]——视图
- SQL语法整理[5]——存储过程
- SQL语法整理[6]——函数
- SQL语法整理[7]——触发器
- SQL语法整理[8]——SQL语言编程
- SQL语法整理[9]——索引