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

主要通过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) --因为定义了级联删除,会直接删除仓库表中相关数据


 

 

 
  


 

 






 

你可能感兴趣的:(增删改查)