mysql数据库毕业论文.doc
《mysql数据库毕业论文.doc》由会员分享,可在线阅读,更多相关《mysql数据库毕业论文.doc(11页珍藏版)》请在冰豆网上搜索。
浅谈MySQL数据库
计算机与信息工程学院
指导教师讲师
摘要本论文结合设计的Jsp/Servlet网上拍卖系统论述了目前比较流行的MySQL数据库,从MySQL数据库的权限、用户、建立表格时用到的主要的参数和数据库的连接技术等方面进行详述的。
关键词MySQL用户;MySQL参数;MySQL连接
MySQL作为最受欢迎的开源SQL数据库管理系统,得到了广泛应用。
MySQL具有最小粒度可达列、功能齐全、查询迅捷等优点。
所以我们在本次网上拍卖系统中用的数据库管理系统就是使用了MySQL管理系统。
我做的部分是数据库的部分。
下面从权限、用户、参数和连接等几个方面来详细分析MySQL数据库管理系统。
1MySQL的权限概述
MySQL共有select、insert、update、delete、index、alter、create、drop、grant、reload、shutdown、process和file等13种权限。
其中select权限用于控制用户对数据库表的select操作,insert权限用于控制用户对数据库表的insert操作,update权限用于控制用户对数据库表update操作,delete权限用于控制用户对数据库表的delete操作,index权限用于控制用户对数据库表建立或删除索引,alter权限用于控制用户对数据库表的alter操作,create权限用于控制用户建立数据库、数据库表和索引,drop权限用于控制用户删除数据库或表,grant权限用于向特定用户授予各种权限,reload权限用于控制用户对服务器的flush操作,shudown权限用于控制用户关闭数据库服务器,process权限用于控制用户查看和杀死数据库服务器的线程,file权限用于控制用户存取服务器上的权限。
MySQL的13种权限中,select、insert、update、delete等4种权限为数据操作权限,用于数据查询、插入、修改和删除,其他权限则主要用于数据管理。
对于这4种数据操作权限,MySQL允许数据库管理员(DBA)将这4种权限建立在数据库、表、列等数据级别上赋予特定用户。
若将这4种权限建立在一数据库上赋予一用户,则该用户拥有该数据库中所有表上所有列的相应权限;若将这4种权限建立在一数据库表上赋予一用户,则该用户拥有该数据库表所有列上的相应权限;若将这4种权限建立在一数据库表的某列上赋予一用户,则该用户仅拥有对该列上的相应权限。
这4种权限可同时建立在数据库、表和列上,因此可能出现同一用户在数据库、表和列3个数据粒度上的权限发生冲突的现象,此时MySQL采用“数据库级权限<表级权限<列级权限”规则处理该冲突。
2MySQL的用户
MySQL的用户由用户名标识,与DB2不同,MySQL独立管理自己的用户名,而不使用操作系统自身的用户名,同时MySQL独立管理个用户的密码。
此外,MySQL还将用户名与用户登录的主机实现绑定,即MySQL允许数据库管理员对特定主机上的特定用户进行授权。
特定主机由主机名或主机IP地址标识,且支持通配符:
%代表任意字符、_代表任意一个字符。
比如允许用户LanUser在81.34.17.1〜81.34.17.254等主机上登录,则数据库管理员授权时,可使用主机通配
符81.34.17.%。
若LanUser用户在81.34.18.22上登录,则MYSQL数据库服务器将拒绝之。
三、创建数据表时所用到的主要的参数选项
3.1PrimaryKey
具有PrimaryKey限制条件的字段用于区分同一个数据表中的不同记录。
因为同一个数据表中不会存在两个具有相同值的PrimaryKey字段,所以对于那些需要严格区分不同记录的数据表来说,PrimaryKey具有相当重要的作用。
3.2Auto_Increment
具有Auto_Increment限制条件的字段值从1开始,每增加一条新记录,值就会相应地增加1。
一般来说,我们可以把Auto_Increment字段作为数据表中每一条记录的标识字段。
3.3NOTNULL
NOTNULL限制条件规定用户不得在该字段中插入空值。
其它数据表命令除了创建新的数据表之外,MySQL数据库还提供了其它许多非常实用的以数据表作为操作对象的命令。
例如:
显示数据表命令mysql>showtables;该命令
将会列出当前数据库下的所有数据表;显示字段命令mysql>showcolumnsfromtablename;该命令将会返回指定数据表的所有字段和字段相关信息。
3.4Jsp/Servlet网上拍卖系统系统中用到的数据库表格
本系统跟需求所建立的数据库表有如下:
users用户信息表
Field
Type
Null
Key
Default
Comment
uId
bigint
-
PRI
-
用户编号
telephone
varchar
Yes
-
-
手机号
nickName
varchar
Yes
-
-
用户的姓名
password
varchar
Yes
-
-
用户密码
username
varchar
Yes
-
-
用户名
address
varchar
Yes
-
-
地址
email
varchar
Yes
-
-
邮箱
表中uId为主键并被设置为IDENTITY(1,1),这样当插入一条记录且uId字段的数据为空(null)时,新记录的uId值将由系统自动给出(若是一张新表,则从1开始)。
这样可以保证整个表中的uId字段在其数据类型允许的范围之内没有重复的值。
管理员信息表
Field
Type
Null
Key
Default
Comment
adminid
int
-
PRI
-
管理员标识
admin_name
varchar
-
-
-
管理员名字
admin_pwd
varchar
Yes
-
-
管理员的密码
分组
varchar
-
-
—
分组
isLoginIn
smallint
-
-
0
检看登录情况
所示为管理员信息表,记录了系统管理员的相关信息。
表中adminid为主键且设为自动增长,priv为管理员的权限字段代表着此管理员在系统中可以管理的模块,isLoginIn用来临时记录管理员的登录信息,当用户登录系统后此字段被设置为1,退出系统时重置为0,防止用户重复登录。
商品分类
Field
Type
Null
Key
Default
Comment
lid
int
—
pri
—
类标识
lname
varchar
—
—
—
类名
introduce
varchar
—
—
—
类介绍
商品信息表
Field
Type
Null
Key
Default
Comment
cid
bigint
-
PRI
主键,递增
uid
int
-
FK
0
发布者的编号识
cname
varchar
-
-
0
商品名称
cmain
int
-
FK
0
商品类别
cpic
varchar
Yes
-
-
商品图片地址
ctime
datetime
Yes
-
-
发布商品的时间
cdays
int
-
-
0
出售的天数
status
int
-
-
0
商品情况
startbid
int
-
-
0
开始价
introduce
varchar
-
0
商品介绍
如表所示为记录用户所发布的商品的详细信息的表。
表中cid为主键设为自动增长。
uId为users表中uid的外键,cmain为sort表中sid的外键,csub为subsort表中ssid的外键,这些外键能保证商品的完整性。
cend表示商品的拍卖是否已经结束。
climit用来限制出价用户的等级也就是说只是当用户的好评数达到climit的限制时才能对商品出价,这样可以维护卖方的利益。
model代表商品出售的方式是拍卖还是一价成交的方式。
chot用来记录商品被用户浏览的次数,作为热点商品的参考。
用户出价信息表
Field
Type
Null
Key
Default
Comment
bid
int
-
PRI
-
标识
cid
int
-
FK
-
商品标识
uid
int
-
FK
-
用户ID
btime
datetime
-
-
-
出价的时间
howmuch
float
-
-
-
出了多少钱
status
int
-
-
0
审核
表中pid为主键设为自动增长。
cid为商品表cat中cid的外键,这样可以保证用户的出价都是针对已经发布的商品发出的。
username为出价的用户名称。
howmuch代表用户对此商品出了多少钱。
四、数据操作
4.1MySQL的数据操作
对MySQL数据库中数据的操作可以划分为四种不同的类型,分别是添加、删除、修改和查询。
MySQL数据库所采用的SQL语言同其它绝大多数计算机编程语言一样,对命令的语法格式有严格的规定。
任何语法格式上的错误,例如不正确的使用括号、逗号或分号等都可能导致命令执行过程中的错误。
添加记录指用户可以使用INSERT命令向数据库中添加新的记录。
例如:
mysql>INSERTINTOtestVALUESmysql>(John,carrots@,mysql>,NULL)。
首先,所有的字符类型数据都必须使用单引号括起来。
其次,NULL关键字与AUTO_INCREMENT限制条件相结合可以为字段自动赋值。
最后,也是最重要的一点就是新记录的字段值必须与数据表中的原字段相对应,如果原数据表中有4个字段,而用户所添加的记录包含3个或5个字段的话都会导致错误出现。
MySQL数据库的一个非常显著的优势就是可以对整数、字符串和日期数据进行自动转换。
因此,用户在添加新记录时就不必担心因为数据类型不相符而出现错误。
查询数据指的是如果我们无法从数据库中查找和读取数据的话,数据库就丧失了其存在和使用的价值。
在MySql数据库中,用户可以使用SELECT命令进行数据的查询。
例如:
mysql>SELECT*FROMtestmysql>WHERE(name=John);上述命令会返回如下结果:
nameemailphoneIDJohncarrots@1。
删除数据是指用户除了可以向数据表中添加新