您的位置:首页 > 编程语言 > Java开发

java - 图书管理系统之数据库(sql server 2008)篇

2018-01-21 08:06 369 查看
这里的数据库就使用 SQL server 2008。

需求分析中有介绍到,数据库的物理结构。。在使用中要用到六张表(reader,readertype,users,book,booktype,borrowbook),首先创建一个数据库(db_bookborrow),然后再在数据库中 将这六张表建出来(具体怎么建表‘自己用的图形界面

’这里不做介绍,下面有语句创建方法)。每一张表的详细内容见需求分析,这里要注意的是
readetype和booktype 的主键设置为自增长型。

建完表好需要熟悉一下 查询增添修改 SQL 语句,程序中将会用到。下面是程序中可能用到的一些 SQL 语句。

1.创建和删除数据库的方法(使用图形化界面创建数据库、使用语句创建数据库)[使用语句创建数据库可以避免数据库版本不同带来的麻烦,另外添加数据更为方便。]

--创建数据库

create database db_bookborrow;
--删除数据库

drop database db_bookborrow;
2.创建和删除数据表的方法(使用图形化界面创建、使用语句创建)

创建数据表的格式(红色表示关键字,不能改动;蓝色表示可根据不同情况改为不同内容;中括号里的内容表示可选。)

create table 表名 (

字段名1  字段类型 [ primary key],

字段名2  字段类型,

.......

);

--创建数据表

create table reader

(

readeridchar(8) primary key,

type int,

namechar(20),

age int,

sexchar(4) ,

phonechar(11),

deptvarchar(20),

regdate date

);

create table readertype

(

id int,

typenamevarchar(20),

maxborrownumint,

limit int

);
--删除数据表

drop table reader;
【注意当前所操作的数据库!】

3.主键和自增长的概念及作用,两者的写法。

主键是某一条(行)记录的唯一索引,根据主键可以唯一地确定某条记录。

自增长可以自动为主键
4000
提供不重复的值。需要两个参数:初始值和步长。【注意:只能对int类型的主键设置为自增长!】

--主键(primary key)和自增长(identity)

create table users

(

id int primary key identity(1,1),

namevarchar(20),

passwordvarchar(20)

);
4.增删改查操作(CRUD)

增加(Create)、查询(Retrieve)、更新(Update)和删除(Delete)。

--增加操作(insert)

insert into readertype values(1,'学生',3,10) --char或varchar类型的内容要用单引号括起来

insert into readertype values(2,'教师',6,30)

insert into reader values('12345678',1,'张三',23,'男','13612345678','软件','2018-1-15')

insert into reader values('11111111',2,'李四',33,'女','13611111111','软件','2016-1-10')

insert into users values('admin',111) --自增长字段不需赋值
--更新操作(update)

update reader set age=18 where readerid='12345678'

update reader set age=19,phone=’13722222222’ wherereaderid='12345678'
--查询操作(select)

select * from readertype --查询所有读者类型

select readerid,name from reader --查询所有读者的编号和姓名

select * from reader where readerid=’12345678’ --查询编号为12345678的读者的所有信息
--删除操作(delete)

delete from reader where readerid=’12345678’
5.部分复杂查询

6.1 判空

select *from borrowbook where returndatetime is NULL

select * fromborrowbook where returndatetime is not NULL
6.2 组合where条件(and、or、not)

select * from users where name='admin' and password=111
6.3 模糊查询(like关键字)

select * from reader where name like '张%' --%代表零到多个字符

select * from reader where name not like '张%'

select * from reader where name like '张_' --一个下划线代表一个字符

select * from reader where name like '%张%' --名字中包含张
6.关联查询(多表查询)

--查询读者编号、读者姓名和读者类型名(信息来自两张表)

select readerid,name,typename

from reader join readertype onreader.type=readertype.id

[可继续加where子句]
7.联合主键(借阅信息表)

某人和某书联合到一起才能唯一确定一条信息,这时可以使用联合主键。

create table borrow(

readerid char(8),

isbn char(10),

borrowdate datatime,

primary key(readerid,isbn)

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