数据库基础知识点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 数据库的作用
持久化:永久得保存数据。
数据挖掘:通过以有信息,发掘出有价值的信息。
冗余:数据的重复出现,(插入,删除,修改)带来一些异常。查询时可以提高查询的效率。
2. 创建数据库,创建表,确定表中字段的类型
数据文件:.mdf(main data file主要数据文件)
.ldf(log data file 日志数据文件)
数据完整性:保证数据库的数据是客观真实的,没有错误的。
数据库登录:
方式一:window身份验证,如果你具有登录操作系统的权限,你就可以登录登录数据库。
方式二:sql server身份验证,能够登录操作系统,还需要知道登录名和密码。
用户名sa 数据库管理者,他是数据库的最大权限拥有者
常用数据类型:
整型:bigint int smallint tinyint
货币:money smallmoney
时间:datetime smalldatetime
位:bit (0,1)
字符串:char varchar text(一个字符表示8位)
Nchar nvarchar ntext(一个字符表示16位)
差异:1. 字符串类型需要加长度。Char(4) text,ntext不需要加长度
2. char varchar的区别
Char是固定长度的,char(8) 存储了’abc’会在’abc’之前加5个空格
Varchar 是可变长的varchar(20) 存储了’abc’,长度就是3
3. 如何分离附加数据库
4. 对数据库的增删改查(操作的是表中的数据)
T_sql:sql+sql server对标准的加强
Sql当中不区分大小写。
增(insert):insert into表名values(字段1的值,字段2的值……)
insert into表名(字段1,字段2)values(字段1的值,字段2的值……)—插入部分数据,其他的字段可以不插入,是因为允许为空
字符串和日期类型都是用'' 括起来的
查(select):select*from表名(*表示全部)
select字段1,字段2 from表名
select字段1,字段2 from表名
where条件表达式
删(delete):delete
from表名
where条件表达式
改(update): update表名
set字段1=字段1的值,字段2=字段2的值
where条件表达式
5. 数据库完整性
--域完整性(列的要求)
默认值:采用默认值的时候,需要default占位
--实体完整性(行的要求)
主键:不可以为空,不能重复。
标识列:不需要自己输入,完成初始值设定,以后依次递增,一定是整型标识种子:初始值
标识增量:递增的值
注意:如果插入数据时错误,自增长列还是会加1,如果数据全部删除,
自增长列还是保留以前的值。truncate table department可以重置表
结构。
唯一约束:不允许重复,但可以为空,只能有一个空。
--引用完整性(表之间关系的要求)
1.在哪个表中创建外键?在引用的那张表上
2.主键表,外键表?有主键的就是主键表。
注意点:
1 不能向外键表里插入主键表没有的数据。
2 不能删除主键表中有外键引用的数据,除非将外键表中引用的数据删除掉。
3 不能先删除主键表。
--自定义完整性
6. sql
--dml:数据操作语言,就是增删改查
--dcl:数据控制语言
--ddl:数据定义语言,创建数据库,创建表
1 ddl
创建数据库:create database 数据库名
go --批处理
Use数据库名
use master --exists() 返回true,false
if exists(select*from sysdatabases where name='company') drop database company
go
create database company
go --批处理
use company
创建表 create table 表名 (字段1名类型 , 字段2名类型……)
if exists(select*from sysobjects where name='department') drop table department
go
create table department--创建表时一定要选择好数据库use company
(
--identity(1,1)自增长列
--primary key主键
--字段和字段之间用,隔开
departmentid int identity(1,1)primary key,
departmentname varchar(20)not null
)
添加约束
--主键
alter table employee
add constraint PK_employee_employeeid primary key(employeeid)
--唯一约束
alter table employee
add constraint UQ_employee_telephone unique(telephone)
--默认约束
alter table employee
add constraint DF_employee_address default('地址不详')for address --检查约束
alter table employee
add constraint CK_employee_salary check(salary>=1800 and