精选资料MySql数据库安装.docx
- 文档编号:30512698
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:17
- 大小:392.29KB
精选资料MySql数据库安装.docx
《精选资料MySql数据库安装.docx》由会员分享,可在线阅读,更多相关《精选资料MySql数据库安装.docx(17页珍藏版)》请在冰豆网上搜索。
精选资料MySql数据库安装
1、课程名称:
MySql数据库的安装及新闻发布系统数据库的创建
2、知识点
2.1、上次课程的主要知识点
2.2、本次预计讲解的知识点
3、具体内容
3.1、MySQL数据库
安装MySQL数据库
安装成功,可以进入MySQL
进入mysql数据库的命令是mysql
语法为:
mysql–u用户名–p密码–h主机ip(可以不写,不写默认为localhost)
注意-u,-p和-h后没有空格。
使用该命令的前提是安装mysql时,选择了将bin目录加入到path环境变量中。
常用命令:
showdatabases:
显示所有数据库。
createdatabase库名:
创建数据库
dropdatabase库名:
删除数据库
use库名:
切换数据库
showtables:
显示某一库下的所有表
建立表,删除表,修改表命令与oracle语法完全相同。
添加数据,删除数据,更新数据,查询数据,语法与oracle也相同。
desc表名:
查看表结构
安装MySQL,在MySQL中建立一个oracle_emp的库,并将oracle中的emp表以及dept表整个加入到mysql这个oracle_emp数据库中。
数据库编码如果在安装时没有选择默认编码,可以手工修改my.ini文件来解决。
default-character-set=gbk
修改这个配置即可(一共两个)
修改后,需要重新启动mysql服务,并重新创建数据库。
建立数据库时也可以手工设置编码
CREATEDATABASE库名charatersetgbk
手工在建立库时设置编码。
MySQL与Oracle中的区别:
1)数据类型
a)Oracle特有类型:
Blob,Clob,支持4G
b)MySQL特有类型:
Blob,Text,最大能保存65535字节,约64K
i.MySQL还有更大一点的类型
ii.LongBlob,LongText,2的32次方字节,4Mb(理论上是4G,但实际上不可能支持这么大的数据。
)
c)Oracle使用Date类型处理日期
d)MySQL中使用以下几种类型处理日期
i.date:
纯日期
ii.time:
纯时间
iii.datetime:
日期+时间,建立表时,默认值必须给一个固定值,一张表中可以出现多个datetime类型数据
iv.timestamp:
日期+时间,建立表时,默认值可以使用now()或sysdate(),一张表中只能有一个timestamp类型。
v.year:
年
2)函数(方法)不同
a)Oracle取得当前系统时间:
sysdate
b)MySQL取得当前系统时间:
i.sysdate():
日期+时间,在存储过程中使用时,如果调用了多次sysdate(),则只使用第一次取得的值。
ii.now():
日期+时间,如果出现多次now(),则每次都取得当前系统时间。
iii.current_date():
日期
iv.current_time():
时间
3)自动增长列设置不同
a)Oracle:
sequence设置
i.先create创建出来
ii.使用时通过seq.nextVal来设置值
b)MySQL:
建立表时加入auto_increment属性设置某个主键自增长
i.添加数据时,不添加主键字段,表会自动为其分配一个自增长的值。
CREATETABLEnews(
idintprimarykeyauto_increment,
titlevarchar(20)notnull
);
4)分页语句不同
a)Oracle:
ROWNUM,语句需要子查询
b)MySQL:
LIMIT,直接写在整条语句后即可。
i.例如:
select*from表名limit?
?
ii.参数设置
1.第一个为(cp–1)*ls
2.第二个为ls
5)连接数据库的driver等不同
a)Oracle:
oracle.jdbc.driver.OracleDriver等
b)MySQL
i.dbdriver:
org.gjt.mm.mysql.Driver或com.mysql.jdbc.Driver
ii.dburl:
jdbc:
mysql:
//localhost:
3306/oracle_emp
iii.dbuser:
root
iv.dbpassword:
mysqladmin
补充:
在MySQL中建立用户,以及为用户分配权限
CREATEUSERscottIDENTIFIEDBY'tiger';
建立的用户默认是没有权限的,还需要通过grant命令来设置用户权限。
GRANTALLONoracle_emp.*TO'scott'@'%';
其中@后的%表示允许该用户远程访问此数据库,如果不允许远程访问,改为localhost
在NewsDemo中,修改数据库连接以及数据库操作语句,将DAO改为MySQL版的。
dbc
packagecn.mldn.dbc;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.SQLException;
publicclassDataBaseConnectionMySQL{
privatestaticfinalStringDBDRIVER="org.gjt.mm.mysql.Driver";
privatestaticfinalStringDBURL="jdbc:
mysql:
//localhost:
3306/oracle_emp";
privatestaticfinalStringDBUSER="root";
privatestaticfinalStringDBPASSWORD="mysqladmin";
privateConnectionconn;
publicDataBaseConnectionMySQL(){
}
publicConnectiongetConnection(){
try{
if(conn==null||conn.isClosed()){
Class.forName(DBDRIVER);
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
}
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}catch(ClassNotFoundExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
returnconn;
}
publicvoidclose(){
if(conn!
=null){
try{
conn.close();
}catch(SQLExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
}
}
}
实现类,修改分页代码。
publicList
throwsException{
Stringsql="SELECT*FROMnewsWHERE"+paramKey+"LIKE?
LIMIT?
?
";
PreparedStatementpstmt=this.conn.prepareStatement(sql);
pstmt.setString(1,"%"+paramValue+"%");
pstmt.setInt(2,(cp-1)*ls);
pstmt.setInt(3,ls);
ResultSetrs=pstmt.executeQuery();
ListallNews=null;
while(rs.next()){
if(allNews==null){
allNews=newArrayList();
}
Newsnews=newNews();
news.setNid(rs.getInt
(1));
news.setTitle(rs.getString
(2));
news.setContent(rs.getString(3));
news.setPostDate(rs.getTimestamp(4));
news.setPhoto(rs.getString(5));
allNews.add(news);
}
returnallNews;
}
要求掌握MySQL的安装和使用。
以及通过JDBC连接MySQL进行CRUD操作(重点是分页查询)
补充:
存储过程和方法
这两个都是一些sql语句的集合,可以将多条sql查询或添加等操作写到一个方法体中,当需要调用时,只需要提供方法名和参数就可以直接调用。
如果有返回值则这个方法体称为方法,如果没有返回值,则称为存储过程。
CREATEPROCEDUREtest_emp_search(outallcountint)
begin
select*fromemplimit0,5;
selectcount(empno)intoallcountfromemp;
end;
可以通过以上语法建立一个存储过程。
调用存储过程使用call关键字
calltest_emp_search(@test);
还可以在调用后直接查询@test参数,取得全部记录数
在JDBC中如果要调用存储过程使用CallableStatement
CallableStatementcstmt=conn.prepareCall("calltest_emp_search(@test)");
3.2、新闻发布系统数据库的创建
打开MySql命令行,输入创建数据库密码。
创建数据库:
Createdatabasenews;
创建表代码:
CREATETABLEuser(
useridvarchar(20)primarykey,
passwordvarchar(32)notnull,
real_namevarchar(20)notnull
);
CREATETABLEnews(
nidintprimarykeyauto_increment,
titlevarchar(20)notnull,
contenttextnotnull,
post_datedatetimenotnull,
photovarchar(50)
);
使用数据库:
usenews;
显示news中的所有表:
showtables
向user表中插入管理员信息:
INSERTINTOuserVALUES('jsj','jsj','jsj');
4、总结
1、熟练掌握MySQL数据库
5、预习任务
1、JSP基本语法
6、作业
No.
表达式
描述
1
在MySQL数据库中,建立一张新闻表和一张用户表
User:
useridvarchar(20)primarykey,real_namevarchar(20),passwordvarchar(20)
News:
nidintprimarykeyauto_increment,titlevarchar(20),contenttext,post_datedatetime,photovarchar(50)
用户可以登陆,登陆时要求有MD5加密和验证码验证
如果登陆成功,则用户可以查看新闻列表,可以添加新闻,删除新闻,修改新闻。
添加或修改时可以为新闻添加一张图片,要求图片必须是jpg或gif格式,而且大小必须在1M以内。
列表显示要求分页查询,而且列出每条新闻的图片,并按发布时间倒序。
开发模式:
MVC+JSTL+EL
使用过滤器过滤编码,以及验证登陆。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 资料 MySql 数据库 安装
![提示](https://static.bdocx.com/images/bang_tan.gif)