【文档说明】MySQL数据库的操作java教案课件.pptx,共(90)页,5.260 MB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-45186.html
以下为本文档部分文字说明:
1会计学MySQL数据库的操作java简单、免费、扩展性、相对成熟等一直都是MySQL的吸引所在。最具人气开源数据库,MySQL绝非浪得虚名Apple,Google、Facebook、Twitter大量使用了MySQL,直接点击“Next‖,继续,选择
安装类型3个类型:Typical、Complete、Custom。选择“自定义”(Custom)安装,然后点“Next‖下一步,出现自定义安装界面第四章MySQL的操作____安装默认情况下MySQL将会被安装到C:\Pro
gramFiles\MySQL\MySQLServer5.1\文件夹里面。自己可以改路径,点“Change‖更改路径。点“OK‖后回到自定义安装界面,可看见路径已经改为你设置的路径点“Next‖,准备开始安装第四章My
SQL的操作____安装第四章MySQL的操作____安装填完信息后,点“Next‖,然后出现预览你刚才填的信息的界面,再点“Next‖出现安装完成界面这里有个配置向导的选项(ConfiguretheMySQLServernow),建议勾选立即配置你的My
SQL。点击“Finish‖完成安装,并开始配置MySQL第四章MySQL的操作____4.1安装第四章MySQL的操作____4.1安装选“Detailedconfiguration‖进入服务类型选择页面。选“DeveloperMachine‖(开发者机器
),这样占用系统的资源不会很多进入数据库用法选择页面。选择“MultifunctionalDatabase‖进入选择InnoDB数据存放位置页面不用更改设置,直接放在InstallationPath安装目录里即可选择MySQL的同时联接数选
择“ManualSetting‖,设置为100(自己设置)配置MySQL在TCP/IP通讯环境中的端口选择默认的3306端口即可。选择MySQL中的字符设置这里的选择将会影响你是否能在MySQL中使用中文
。选择gb2312字符集以便支持简体中文,繁体中文选big5设置Windows服务选项―InstallAsWindowsService‖一定要勾选,这是将MySQL作为Windows的服务运行。―Laun
chtheMySQLServerautomatically‖一定要勾选,这样Windows启动时,MySQL就会自动启动服务,要不然就要手工启动MySQL。许多人说安装MySQL后无法启动、无法连接、出现10061
错误,原因就在这里。设置根帐号root的登录密码―ModifySecuritySettings‖是设置根帐号的密码,输入你设定的密码即可。“CreateAnAnonymousAccount‖是创建一个匿名帐号,这样会导致未经授
权的用户非法访问你的数据库,有安全隐患,建议不要勾选。点“Execute‖开始配置,当出现“Servicestartedsuccessfully‖时,说明你的配置完成,MySQL服务启动成功点“Finish‖完成,整个MySQL的配置完成。MySQL的启动和连接一、查看并启动MySQL服务。安装完
MySQL后,它就已经自动启动服务了,并且在开始菜单中有其客户端的快捷方式连接通过Windows的服务管理器查看。“开始”-“运行”,输入“services.msc‖,回车。弹出Windows的服务管理器,然后就可
以看见服务名为“mysql‖服务项,其右边标明“已启动”可以通过Windows的服务管理器查看。“开始”-“运行”,输入“services.msc‖,回车。弹出Windows的服务管理器,然后就可以看见服务名为“mysql‖服务项,其右边标明“已启动”也可以
通过“控制面板”中的“管理工具”如果没有“已启动”字样,说明MySQL服务未启动,不能连接,会出现10061错误。然后输入“netstartmysql‖就启动mysql服务。停止mysql服务“netstopmysql‖(注意,这里是输入的MySQL服务的名字。如果MySQL服务的名
字是DB或其它名字,应该输入“netstartDB‖或其它名)启动MySQL服务方法一:―开始”-“运行”,输入“cmd‖,回车弹出XP命令提示符界面。假如安装的时候取的服务名是mysql,那么起停数据库服务的命令是:D:>netstopmysqlTheMySQLservic
eisstopping.TheMySQLservicewasstoppedsuccessfully.D:>netstartmysqlTheMySQLserviceisstarting.TheMySQLservicewasstartedsuccessfully.到windows的服务管理里手工起停。
启动MySQL服务方法二:当直接敲入mysql的时候遇到如下错误,说明数据库服务还未启动:D:>mysqlERROR2003(HY000):Can'tconnecttoMySQLserveron'localhost'(10061)二、连接和退出MySQL格式:
mysql-h主机地址-u用户名-p用户密码1、连接到本机上的MYSQL。首先在打开DOS窗口,然后进入目录CrogramFilesMySQLMySQLServer5.0\>bin(安装的时候如果已经把该目录设置到了环境变量PATH里,不用进入该目录),再键入命令mysql-uro
ot–p,回车后提示你输密码,输入密码直接回车即可进入到MYSQL中,MYSQL的提示符是:mysql>WelcometotheMySQLmonitor.Commandsendwith;or\g.YourMySQLconnectionidis1to
serverversion:5.1.45-ntType'help;'or'\h'forhelp.Type'\c'to…………mysql>这就说明连接MySQL成功,“mysql>‖说明已经成功联入MySQL服务器了,可以开始msql的操作2、连接到
远程主机上的MYSQL。假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则键入以下命令:D:>mysql-h110.110.110.110-uroot-pab
cd123注:u与root可以不用加空格,其它也一样。3、退出MYSQL命令:D:>exit(回车)或D:>quit(回车)你也可以用control-D退出。三、修改用户密码——直接修改user表的root用户口令:mysql>usemysql
;--用名叫mysql的库作当前库Databasechangedmysql>updateusersetpassword=password('1234')whereuser='root';QueryOK,1rowaffected(0.00sec)Rowsmatched:
1Changed:1Warnings:0mysql>flushprivileges;QueryOK,0rowsaffected(0.14sec)注:flushprivileges的意思是强制刷新内存授
权表,否则用的还是缓冲中的口令。四、MYSQL创建用户第一方法grant权限1,权限2,...权限non数据库名.表名to用户名identifiedby'连接口令';GRANTALLPRIVILEGESONtest.studentTOdysnwpuIDENTIFIEDBY'1
23456'WITHGRANTOPTION;grantselectontest.SCtodys1identifiedby"abc";例1:例2:第二方法createuser删除用户切换用户五、基本操作命令注:如果你打命令时,回车后发现忘记加分号
,你无须重打一遍命令,只要打个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就完成。可以使用光标上下键调出以前的命令。mysql命令的大小写结果是一致的。1、建库2、建表*对数
据库元素操作必须先打开数据库*CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameCHAR(20)UNIQUE,SsexCHAR(2),SageSMALLINT,
SdeptCHAR(20));*对数据库元素操作必须先打开数据库*2、建表CREATETABLEStudent(SnoCHAR(9)PRIMARYKEY,SnameCHAR(20)UNIQUE,Sse
xCHAR(2),SageSMALLINT,SdeptCHAR(20));mysql>showdatabases;3、显示数据库列表:mysql库很重要,它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作
。4、显示库中的数据表mysql>usemysql;mysql>showtables;4、显示库中的数据表5、显示数据表的结构:mysql>descstudent;原因:mysql数据库中没有student表,它存在于testdb库中修改基本表向Student表增加“
入学时间”列,其数据类型为日期型。ALTERTABLEStudentADDS_entranceDATE;不论基本表中原来是否已有数据,新增加的列一律为空值。6、显示表中的记录mysql>select*fromstudent;Emptyset
(0.00sec)7、将表中记录清空mysql>deletefromstudent;QueryOK,0rowsaffected(0.00sec)8、删库和删表mysql>droptablestudent;QueryOK,0rowsaffected(0.11sec)mysql>d
ropdatabasetest;QueryOK,0rowsaffected(0.01sec)六、建库、建表、改表以及插入数据INSERTINTOStudentVALUES('20120101','宁俊','男',20,'IS','2012-1
0-01');INSERTINTOStudentVALUES('20120102','张生岳','男',21,'MA','2012-10-01');INSERTINTOStudentVALUES('20120103','刘阿俊','男',19,'IS','2012-10-01');IN
SERTINTOStudentVALUES('20120104','岳春蕾','女',18,'CS','2012-10-01');INSERTINTOStudentVALUES('20120105','郭姗姗','女',19
,'IS','2012-10-01');INSERTINTOStudentVALUES('20120106','张珊珊','女',18,'IS','2012-10-01');INSERTINTOStudentVALUES('20120107','臧珊','女',18,'IS','2012
-10-01');INSERTINTOStudentVALUES('20120108','田晓宇','女',18,'MA','2012-10-01');INSERTINTOStudentVALUES('20120101','宁俊','男',20,'IS','2012-10-
01');建立一个“课程”表CourseCREATETABLECourse(CnoCHAR(4)PRIMARYKEY,CnameCHAR(40),CpnoCHAR(4),CcreditSMALLINT);INSERTINTOCourseVALUES('1','数据库','5',3);IN
SERTINTOCourseVALUES('2','数学分析','',4);INSERTINTOCourseVALUES('3','信息系统','1',2);INSERTINTOCourseVALUES('4','VF','3',3);INSERTINTOCo
urseVALUES('5','JAVA','',2);CREATETABLESC(SnoCHAR(9),CnoCHAR(4),GradeSMALLINT,CONSTRAINTSC_ibfk_1FOREIGNKEY(Sno)RE
FERENCESStudent(Sno),CONSTRAINTSC_ibfk_2FOREIGNKEY(Cno)REFERENCESCourse(Cno))ENGINE=InnoDBDEFAULTCHARSET=latin1;建立一个“选课”表SC1.两个表必须是InnoDB表,MyISAM表暂时不
支持外码;2.外码列必须建立了索引,MySQL4.1.2以后的版本在建立外码时会自动创建索引3.外码关系的两个表的列必须是数据类型相似,也就是可以相互转换类型的列,比如int和tinyint可以,而int和ch
ar则不可以;外码的好处:可以使得两张表关联,保证数据的一致性和实现一些级联操作;外键的定义语法:[CONSTRAINTsymbol]FOREIGNKEY[id](index_col_name,...)REFERENCEStbl_name(index_col_name,
...)[ONDELETE{RESTRICT|CASCADE|SETNULL|NOACTION|SETDEFAULT}][ONUPDATE{RESTRICT|CASCADE|SETNULL|NOACTION|SETDEFAULT}]该语法可以在CREATETABLE和ALTERTABLE时使用,
如果不指定CONSTRAINTsymbol,MYSQL会自动生成一个名字。ONDELETE、ONUPDATE表示事件触发限制,可设参数:RESTRICT(限制外表中的外键改动)CASCADE(跟随外键改动)SETNULL(设空值)SETDEFA
ULT(设默认值)NOACTION(无动作,默认的)INSERTINTOSCVALUES('20120101','2',55);INSERTINTOSCVALUES('20120101','1',75);INSERTINTOS
CVALUES('20120102','3',85);INSERTINTOSCVALUES('20120102','1',45);INSERTINTOSCVALUES('20120102','4',75);INSERTINTOS
CVALUES('20120103','5',95);INSERTINTOSCVALUES('20120103','2',95);INSERTINTOSCVALUES('20120104','2',75
);INSERTINTOSCVALUES('20120104','4',79);INSERTINTOSCVALUES('20120105','2',85);INSERTINTOSCVALUES('20120106','1',85);IN
SERTINTOSCVALUES('20120107','2',95);INSERTINTOSCVALUES('20120108','3',78);INSERTINTOSCVALUES('20120105','4',95);INSE
RTINTOSCVALUES('20120108','2',96);为学生-课程数据库中Student,Course,SC三个表建立索引。CREATEUNIQUEINDEXStusnoONStudent(Sno);CREATEUNIQUE
INDEXCoucnoONCourse(Cno);CREATEUNIQUEINDEXSCnoONSC(SnoASC,CnoDESC);单表查询MySQL查询操作(举例)SELECTSno,Sname,SsexFROMStudent;单表查询MySQL查询操作(举例)SELECTSnam
e,2014-SageFROMStudent;单表查询MySQL查询操作(举例)SELECTSnoFROMSC;SELECTDISTINCTSnoFROMSC;单表查询MySQL查询操作(举例)SELECTSno,SnameFROMStudentWHERESdept='CS';
单表查询MySQL查询操作(举例)SELECTSno,Sname,SsexFROMStudentWHERESage<20;单表查询MySQL查询操作(举例)SELECTSnameFROMStudentWHERESdept='I
S'ANDSage<20;单表查询MySQL查询操作(举例)SELECTSno,GradeFROMSCWHERECno='3'ORDERBYGradeDESC;单表查询MySQL查询操作(举例)SELECTC
OUNT(*)FROMStudent;SELECTMAX(Grade)FROMSCWHERECno='1';单表查询MySQL查询操作(举例)SELECTCno,COUNT(Sno)FROMSCGROUPBYCno;SELECTSnoFROMSCGROUPBY
SnoHAVINGCOUNT(*)>2;SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,GradeFROMStudent,SCWHEREStudent.Sno=SC.Sno
;MySQL查询操作(连接查询)SELECTSno,Sname,SdeptFROMStudentS1WHERES1.SdeptIN(SELECTSdeptFROMStudentS2WHERES2.Sname='宁俊');SELECTSno,Sname,SdeptFR
OMStudentS1WHERES1.Sdept=(SELECTSdeptFROMStudentS2WHERES2.Sname='宁俊');或者SELECTStudent.Sno,SnameFROMStudent,SC,CourseWHEREStud
ent.Sno=SC.SnoANDSC.Cno=Course.CnoANDCourse.Cname='数据库';SELECTDISTINCTstudent.Sno,SnameFROMSC,studentWHEREGrade<60;结果=?对吗?为什么?SELECTDISTINCTs
tudent.Sno,SnameFROMSC,studentWHEREGrade<60andstudent.Sno=SC.Sno;SELECTStudent.Sno,Sname,Cname,GradeFROMStudent,SC,CourseWHEREStudent.Sno=SC.Snoand
SC.Cno=Course.Cno;SELECTSnameFROMStudentWHEREEXISTS(SELECT*FROMSCWHERESno=Student.SnoANDCno='1');SELECTSnameFROMStudentWHERENOTEXISTS(SELECT*FROM
SCWHERESno=Student.SnoANDCno='1');视图操作CREATEVIEWIS_S1(Sno,Sname,Grade)ASSELECTStudent.Sno,Sname,GradeFROMStudent,SCWHERESdept=
'IS'ANDStudent.Sno=SC.SnoANDSC.Cno='1';视图UPDATEIS_S1SETSname='程帅'WHERESno='20120101';修改视图前修改视图原始基本表修改视图后基本表也发生改变作业:将前面所有的例子依次做一遍