2014.9.2数据库基础

(一)数据类型

整数数据类型 int   smallint   tinyint微小的   bigint

浮点数据类型 real(float   float(double   decimal(容量最大)   numeric

二进制数据类型 binary(用程序往里写)  varbinary  image(没有大小限制) varbinary(max)

逻辑数据类型 bit

字符数据类型 char(固定长度)  nchar varchar(长度显示不固定,最大8000 nvarchar(最大4000

文本和图形数据类型 text(长文本,没大小限制)    ntext image

日期和时间数据类型 datetime(最小值1753-1-1   smalldatetime(1900-1-1

货币数据类型 money   smallmoney

 

3.14

精度——2位(小数点后面几位)

宽度——4位(4,2)宽度包括小数点

 

 

小贴士:Ctrl+0  填充NULL

(二)创建和使用约束

1、主键约束:

主键的6个特点:1、主键列里不能有重复值;2、主键列里不能有空值(NULL);3、主键列会自动排序;4、能唯一标识区分;5、一个表里只能有一个主键(其他为侯选键);6、主键可以有多列组合成复合主键。

 

主键的优点:查询效率高

 

主键最好不要设为自增长列

 

主表的主键约束从表的外键。

2、外键约束:

新建一个外键关系图:

3、唯一性约束:

惟一性约束指定一个或多个列的组合的值具有惟一性,以防止在列中输入重复的值。惟一性约束指定的列可以有NULL 属性,由于主关键字值是具有惟一性的,因此主关键字列不能再设定惟一性约束。

4、CHECK约束

检查约束对输入列或整个表中的值设置检查条件,以限制输入值保证数据库的数据完整性。

5、缺省约束(默认值约束)

缺省约束通过定义列的缺省值或使用数据库的缺省值对象绑定表的列,来指定列的缺省值。

 

 (三)使用SQL语句

1、数据库的增删改查:

create database mydb  创建数据库

use mydb  打开数据库(即下拉列表框)

alter database mydb 修改数据库

drop database mydb 删除数据库

查看数据库信息 Sp_helpdb

重命名数据库 sp_renamedb ‘mydb’,’newmydb’

2、创建表:

 1 create database mydb1
 2 go
 3 use mydb1
 4 go
 5 --民族表
 6 create table Nation
 7 (
 8     Code varchar(50) primary key,
 9     Name varchar(50)
10 )
11 go
12 --称谓表
13 create table Title
14 (
15     Code varchar(50) primary key,
16     Title varchar(50)
17 )
18 go
19 --人员基本信息表
20 create table Info
21 (
22     Code varchar(50) primary key,
23     Name varchar(50),
24     Sex bit,
25     Nation varchar(50) references Nation(Code),
26     Birthday datetime
27 )
28 go
29 --工作简历
30 create table Work
31 (
32     Ids int identity primary key,--identity自增长
33     InfoCode varchar(50) references Info(Code),
34     StarDate datetime,
35     EndDate datetime,
36     Firm varchar(50),
37     Depart varchar(50),
38     Orders int
39 )
40 go
41 --家庭关系
42 create table Family
43 (
44     Ids int identity primary key,
45     Infocode varchar(50) references Info(Code),
46     Name varchar(50),
47     Title varchar(50) references Title(Code),
48     Firm varchar(50),
49     Orders int
50 )

3、修改表:

alter table tablename

A. 更改表以添加新列 

alter table doc_exa add column_b varchar(20) null 

B. 更改表以除去列 

alter table doc_exb drop column column_b 

C. 更改表以添加具有约束的列 

alter table doc_exc add column_b varchar(20) null constraint exb_unique unique 

D.更改表以添加未验证的约束 

alter table doc_exd with nocheck add constraint exd_check check (column_a > 1) 

F. 添加具有默认值的可为空的列 

alter table mytable add adddate smalldatetime null constraint adddatedflt default getdate() with values 

 

原文地址:https://www.cnblogs.com/zsmj001/p/3952428.html