您的位置:首页 > 数据库

数据库综合系列 之 基本表的创建和增删改查

2013-12-19 11:35 225 查看
主要通过6张表的建立来实现数据库操作,数据库设计是不合理的,主要是探索基本语法使用和实现。

t_manager :经理表,主要负责一个商店,销售人员

t_shop : 商店

t_cash_housewoker : 销售人员表

t_director :仓库主任,主要负责一个仓库,和业务人员

t_warehouse :仓库信息表

t_account :业务人员信息表

数据库创建:

create database test


商店信息表:

create database test
use  test;
create table t_shop
(
s_id int identity(1,1) primary key, --商店编号
s_name varchar(20),                 --商店名称
s_tel varchar(11),					--商店电话
s_address text						--地址
);


经理信息表:

create table manage
(
m_id int primary key identity(1,1),  --identity(1,1) 低版本sql server 的自动增长
m_name varchar(20),
m_password varchar(20),
m_sex varchar(2) check((m_sex='男') or (m_sex='女')),
m_bir datetime,
m_tel varchar(11),
s_id int ,
foreign key(s_id) references t_shop(s_id)
);


销售人员表:

create table t_cash_housewoker
(
c_id int primary key identity(1,1),
c_name varchar(20) ,
c_password varchar(20),
c_sex varchar(2)check((c_sex='男') or (c_sex='女')),
c_bir datetime,
c_tel varchar(11),
m_id int,
foreign key(m_id) references manage(m_id)
)


仓库表:

create table t_warehouse
(
w_id int identity(1,1),
w_name varchar(20),
w_address text,
primary key(w_id)
)

定义仓库主任表

create table t_director
(
d_id int identity(1,1) primary key,
d_name varchar(10),
d_password varchar(20),
d_sex varchar(2) check((d_sex='男') or (d_sex='女')),
d_bir datetime ,
d_tel varchar(11),
w_id int,
foreign key(w_id) references t_warehouse(w_id) on delete cascade on update cascade --定义级联删除和级联修改
)


业务人员信息表:

create table  t_account
(
a_id int identity(1,1) primary key,
a_name varchar(10),
a_password varchar(20),
a_sex varchar(2) check((a_sex='男') or (a_sex='女')),
a_bir datetime,
a_tel varchar(11),
d_id int ,
foreign key(d_id) references t_director(d_id)
)


插入语句的实现:

商店

insert into t_shop values('烩面馆','11111111112','新乡')
insert into t_shop values('酒店','11111111112','河南科技学院')

经理:

insert into manage values('buyingfei','11111111112','男','2010-10-10','11111111112',1)
insert into manage values('buyafei','11111111112','男','2010-10-10','11111111112',2)

销售人员:

insert into t_cash_housewoker values('销售1','11111111112','男','2010-10-10','11111111112',1)
insert into t_cash_housewoker values('销售2','11111111112','男','2010-10-10','11111111112',1)


仓库:

insert into t_warehouse values('仓库1','河南科技学院')
insert into t_warehouse values('仓库2','河南')

仓库主任:

insert into t_director values('仓库主任1','11111111112','男','2010-10-10','11111111112',1)
insert into t_director values('仓库主任2','11111111112','男','2010-10-10','11111111112',2)

业务员:

insert into t_account values('业务员1','11111111112','男','2010-10-10','11111111112',1)
insert into t_account values('业务员2','11111111112','男','2010-10-10','11111111112',1)


查询:

查询m_id负责的商店和销售人员

select s_name 商店名字,s_address 商店地址,c_name 销售人员 from t_shop,t_cash_housewoker where s_id in(select s_id from manage where m_id=1) and  t_cash_housewoker.m_id=1


修改:

修改m_id=1经理的名字

update manage set m_name='步迎飞' where m_id='1'


删除:

delete from t_director where d_id in(3) --因为定义了级联删除,会直接删除仓库表中相关数据



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐