第三章 数据表的操作

1、数据表是数据库中最重要、最基本的操作对象,是数据存储的基本单位。


2、系统数据库提供了3种数据完整性规则:实体完整性规则、参照完整性规则、用户定义完整性规则。


3、整数数据类型:bigint(8字节)、int(4字节)、smallint(2字节)、tinyint(1字节)。


4、浮点数据类型:real(4字节)、float(8字节)、decimal[(p[,s])]、numeric[(p[,s])]

如:decimal(10,5)表示有10位数,小数有5位,整数也有5位。

5、字符数据类型:char(n)、varchar(n|max)nchar(n)、nvarchar(n|max)

如:char(1)若输入数据的字符串小于n,则系统自动在其后添上空格来填满设定好的空间;若输入的数据过长,将会截断超出部分。

6、日期和时间数据类型:date、time、datetime1、datetime2、smalldatetime、datetimeffset

(1)date数据格式为‘YYYY-MM-DD’,占3个字节

(2)time数据格式为'hh:mm:ss[.nnnnnnn],占5个字节

 

7、文本和图形数据类型:text、ntext、image


8、货币数据类型:money(8字节)、smallmoney(4字节)

money数据类型中整数部分包括包含19个数字,小数部分包含4位数字。


9、位数据类型:bit


10、二进制数据类型:binary(n)、varbinary(n|max)

 

其他:rowversion 计数器 、timestamp 时间截数据类型、uniqueidentifier 、cursor游标数据类型、sql_variant、table、xml


【例3.1】自定义一个地址HomeAddress2数据类型,输入语句如下:
sp_addtype HomeAddress2,'varchar(128)','not null'

【例3.2】使用T-SQL语句创建数据表authors,输入语句如下:
CREATE TABLE authors
(
  auth_id     int identity PRIMARY KEY,         --数据表主键
  auth_name  VARCHAR(20) NOT NULL unique,   --作者名称,不能为空
 auth_gender tinyint NOT NULL DEFAULT(1)    --作者性别:男(1),女(0)
);

【例3.3】 在authors表中添加名称为auth_note的新字段,字段数据类型为varchar(100),允许空值,输入语句如下:
ALTER TABLE authors
ADD auth_note  VARCHAR(100)  NULL


【例3.4】在authors表中修改名称为auth_phone的字段,将数据类型改为varchar(15),输入语句如下:
ALTER TABLE authors
ALTER COLUMN auth_phone  VARCHAR(15)
GO
ALTER TABLE authors
ADD  CONSTRAINT uq_phone UNIQUE (auth_phone)

【例3.5】删除authors表中的auth_phone字段,输入语句如下:
ALTER TABLE authors
DROP  COLUMN auth_phone 

【例3.6】定义表table_emp,并表中e_id字段为主键列,输入语句如下:
CREATE TABLE table_emp
(
    e_id      CHAR(18) PRIMARY KEY,
    e_name    VARCHAR(25) NOT NULL,
    e_deptId  INT, 
    e_phone   VARCHAR(15) CONSTRAINT uq_name UNIQUE
);
【例3.7】删除member表中的主键约束和唯一约束,T-SQL语句如下:
ALTER TABLE member
DROP CONSTRAINT PK_member, UQ_firstname

【例3.8】删除test数据库中的authors表,输入语句如下:
USE test
GO
DROP TABLE authors


课后练习

create database Market
use Market
create table customers
(
c_id int primary key not null,
c_name varchar(50),
c_contact varchar(50),
c_city varchar(50),
c_birth datetime not null
)


--修改c_name字段数据类型
alter table customers
alter column c_name Varchar(70)


--重命名c_contact
exec sp_rename 'customers.[c_contact]','c_phone','column'


--增加c_gender字段
alter table customers
add c_gender char(1)


--重命名表名
exec sp_rename 'customers','customers_info'


--删除字段c-city
alter table customers_info
drop column c_city


create table orders
(
o_num int primary key ,
o_date date not null,
c_id  int not null
)


--增加外键
alter table orders
add constraint c_id foreign key(c_id) references customers_info(c_id)


--删除外键
alter table orders
drop constraint c_id

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值