MySQL使用教程精品.docx
- 文档编号:8731978
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:13
- 大小:150.25KB
MySQL使用教程精品.docx
《MySQL使用教程精品.docx》由会员分享,可在线阅读,更多相关《MySQL使用教程精品.docx(13页珍藏版)》请在冰豆网上搜索。
MySQL使用教程精品
MySQL使用教程(精品)
Mysql的应用大全
安装:
关于安装包的下载可以直接到mysql(已被sun公司收购)的官方网站上下载(相对来说比较正规),当然到其他网站上也行。
注意的事项:
1.在选择安装目录时,可以与系统区(一般为c盘)分开,以免在系统恢复或重装时,破坏mysql保存的数据。
2.在安装到TCP/IP时,要注意一般这一项是默认选上的。
Port端口号通常为3306(要是提示发生冲突的话要修改),便于在其他机子上连接到自己的数据库。
3.到了字符编码这一项时,要格外注意了。
我们一般是选择第三项(第一项是西文码,第二项是通用的utf8编码)进行更为实际的设置。
选GBK(也可用GB2312,GBK字库容量大,其实选上utf-8也是可以的),但是要注意在安装完MYSQL之后,要在命令行里运行一次:
setnamesgbk;
4.在输入密码的这一步时,下面有一个小的提示框“就是是否允许root在其他机器上登陆”这个可能与TCP/IP那个选项有点联系,等待确认
当前自己用的版本号是:
mysql-5.5.20-win32.msi;
和MySQL相关的GUI:
MySQL是一个非常流行的小型关系型数据库管理系统,2008年1月16号被Sun公司收购。
目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
1、phpMyAdmin(
不用担心网速太慢导致中间中断的问题,非常方便易用。
这个软件是德国人开发的,还没有中文语言包。
3、Navicat(
Navicat是一个桌面版MySQL数据库管理和开发工具。
和微软SQLServer的管理器很像,易学易用。
Navicat使用图形化的用户界面,可以让用户使用和管理更为轻松。
支持中文,有免费版本提供。
4、MySQLGUITools(
MySQLGUITools是MySQL官方提供的图形化管理工具,功能很强大,值得推荐,可惜的是没有中文界面。
5、MySQLODBCConnector(
MySQL官方提供的ODBC接口程序,系统安装了这个程序之后,就可以通过ODBC来访问MySQL,这样就可以实现SQLServer、Access和MySQL之间的数据转换,还可以支持ASP访问MySQL数据库
附加说明:
个人比较喜欢使用navicat(比较经典,也是比较常用的,降低了耦合性),而PhpMyAdmin的使用还要准确地区配置PHP环境,这种环境的配置需要注意很多问题,经常会出错,更何况PhpMyAdmin在支持大量数据的备份与恢复方面有缺陷(还要附加上MySQLDumper使用),但是navicat在远程方面的操作却不如PhpMyAdmin。
剩下的两种MySQLGUI是Mysql公司自己提供的,可以尝试。
以上介绍的MysqlGUI(图形化操作界面),只是方面用于对数据库的方便管理,但是对于一个开发人员来说,最为重要的是要能熟练地掌握SQL的常用的命令,这是学习任何数据库所应具备的专业技能。
Mysql常用命令:
一、连接MYSQL。
格式:
mysql-h主机地址-u用户名-p用户密码
1、例1:
连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录mysqlbin(另一种不必进入目录,直接就是打开cmd命令行即可,具体需要的操作是要配置环境变量:
我的电脑—右键属性—高级—环境变量--(在系统变量)path末尾(最好先加上”;”分开)加上mysql的配置路径(eg:
C:
\ProgramFiles\MySQL\MySQLServer5.5\bin)),再键入命令mysql-uroot-p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:
mysql>
2、例2:
连接到远程主机上的MYSQL。
假设远程主机的IP为:
110.110.110.110,用户名为root,密码为abcd123。
则键入以下命令:
mysql-h110.110.110.110-uroot-pabcd123
(注:
u与root可以不用加空格,其它也一样)
3、退出MYSQL命令:
exit(回车)或quit
二、修改密码。
格式:
mysqladmin-u用户名-p旧密码password新密码
1、例1:
给root加个密码ab12。
首先在DOS下进入目录mysqlbin,然后键入以下命令
mysqladmin-uroot-passwordab12
注:
因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、例2:
再将root的密码改为djg345。
mysqladmin-uroot-pab12passworddjg345
三、增加新用户。
(注意:
和上面不同,下面的因为是MYSQL环境中的命令,所以后面都带一个分号作为命令结束符)
格式:
grantselecton数据库.*to用户名@登录主机identifiedby\"密码\"
例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。
首先用以root用户连入MYSQL,然后键入以下命令:
grantselect,insert,update,deleteon*.*totest1@\"%\"Identifiedby\"abc\";
但例1增加的用户是十分危险的,你想如某个人知道test1的密码,那么他就可以在internet上的任何一台电脑上登录你的mysql数据库并对你的数据可以为所欲为了,解决办法见例2。
例2、增加一个用户test2密码为abc,让他只可以在localhost上登录,并可以对数据库mydb进行查询、插入、修改、删除的操作(localhost指本地主机,即MYSQL数据库所在的那台主机),这样用户即使用知道test2的密码,他也无法从internet上直接访问数据库,只能通过MYSQL主机上的web页来访问了。
grantselect,insert,update,deleteonmydb.*totest2@localhostidentifiedby\"abc\";
如果你不想test2有密码,可以再打一个命令将密码消掉。
grantselect,insert,update,deleteonmydb.*totest2@localhostidentifiedby\"\";
在上篇我们讲了登录、增加用户、密码更改等问题。
下篇我们来看看MYSQL中有关数据库方面的操作。
注意:
你必须首先登录到MYSQL中,以下操作都是在MYSQL的提示符下进行的,而且每个命令以分号结束。
一、操作技巧
1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打个分号回车就可以了。
也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK。
2、你可以使用光标上下键调出以前的命令。
但以前我用过的一个MYSQL旧版本不支持。
我现在用的是mysql-3.23.27-beta-win。
二、显示命令
1、显示数据库列表。
showdatabases;
刚开始时才两个数据库:
mysql和test。
mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上就是用这个库进行操作。
2、显示库中的数据表:
usemysql;//打开库,学过FOXBASE的一定不会陌生吧
showtables;
3、显示数据表的结构:
describe表名;
4、建库:
createdatabase库名;
5、建表:
use库名;
createtable表名(字段设定列表);
6、删库和删表:
dropdatabase库名;
droptable表名;
7、将表中记录清空:
deletefrom表名;
8、显示表中的记录:
select*from表名;
三、一个建库和建表以及插入数据的实例
dropdatabaseifexistsschool;//如果存在SCHOOL则删除
createdatabaseschool;//建立库SCHOOL
useschool;//打开库SCHOOL
createtableteacher//建立表TEACHER
(
idint(3)auto_incrementnotnullprimarykey,
namechar(10)notnull,
addressvarchar(50)default’深圳’,
yeardate
);//建表结束
//以下为插入字段
insertintoteachervalues(’’,’glchengang’,’深圳一中’,’1976-10-10’);
insertintoteachervalues(’’,’jack’,’深圳一中’,’1975-12-23’);
注:
在建表中
(1)将ID设为长度为3的数字字段:
int(3),并让它每个记录自动加一:
auto_increment,并不能为空:
notnull(当然也可以设置为null,没影响),而且让他成为主字段primarykey
(2)将NAME设为长度为10的字符字段(3)将ADDRESS设为长度50的字符字段,而且缺省值为深圳。
varchar和char有什么区别呢,只有等以后的文章再说了。
(4)将YEAR设为日期字段。
如果你在mysql提示符键入上面的命令也可以,但不方便调试。
你可以将以上命令原样写入一个文本文件中假设为school.sql,然后复制到c:
\\下,并在DOS状态进入目录\\mysql\\bin(如果环境变量设置过了,直接进入),然后键入以下命令:
mysql-uroot-p密码 \\school.sql(直接路径) 补充: 也可使用mysql的source命令将其导入。 例如以上命令可写为: mysql>sourcec: /school.sql;(注意斜杠) 自己在建表时,一定要严格按照以上给的例子的书写规范来操作,特别是该有的逗号(,)与分号(;)一定加上或者不加。 数据库脚本的创建当然也可以运用前面提到的图形化界面GUI来创建,生成,导出。 (一般不建议开发人员这样做) 如果成功,空出一行无任何显示;如有错误,会有提示。 (以上命令已经调试,你只要将//的注释去掉即可使用)。 四、将文本数据转到数据库中 1、文本数据应符合的格式: 字段数据之间用tab键隔开,null值用\\n来代替. 例: 3rose深圳二中1976-10-10 4mike深圳一中1975-12-23 2、数据传入命令loaddatalocalinfile\"文件名\"intotable表名; 注意: 你最好将文件复制到\\mysql\\bin目录下,并且要先用use命令打表所在的库。 五、备份数据库: (命令在DOS的\\mysql\\bin目录下执行) mysqldump--optschool>school.bbb 注释: 将数据库school备份到school.bbb文件,school.bbb是一个文本文件,文件名任取,打开看看你会有新发现。 mysql命令行常用命令(进一步的总结) 第一招、mysql服务的启动和停止 netstopmysql netstartmysql 第二招、登陆mysql 语法如下: mysql-u用户名-p用户密码 键入命令mysql-uroot-p,回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是: mysql> 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP 第三招、增加新用户 格式: grant权限on数据库.*to用户名@登录主机identifiedby"密码" 如,增加一个用户user1密码为password1,让其可以在本机上登录,并对所有数据库有查询、插入、修改、删除的权限。 首先用以root用户连入mysql,然后键入以下命令: grantselect,insert,update,deleteon*.*touser1@localhostIdentifiedby"password1"; 如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。 如果你不想user1有密码,可以再打一个命令将密码去掉。 grantselect,insert,update,deleteonmydb.*touser1@localhostidentifiedby""; 第五招、导出和导入数据 1.导出数据: mysqldump--opttest>mysql.test 即将数据库test数据库导出到mysql.test文件,后者是一个文本文件 如: mysqldump-uroot-p123456--databasesdbname>mysql.dbname 就是把数据库dbname导出到文件mysql.dbname中。 2.导入数据: mysqlimport-uroot-p123456 不用解释了吧。 3.将文本数据导入数据库: 文本数据的字段数据之间用tab键隔开。 usetest; loaddatalocalinfile"文件名"intotable表名; SQL常用命令使用方法: (1)数据记录筛选: sql="select*from数据表where字段名=字段值orderby字段名[desc]" sql="select*from数据表where字段名like'%字段值%'orderby字段名[desc]" sql="selecttop10*from数据表where字段名orderby字段名[desc]" sql="select*from数据表where字段名in('值1','值2','值3')" sql="select*from数据表where字段名between值1and值2" (2)更新数据记录: sql="update数据表set字段名=字段值where条件表达式" sql="update数据表set字段1=值1,字段2=值2……字段n=值nwhere条件表达式" (3)删除数据记录: sql="deletefrom数据表where条件表达式" sql="deletefrom数据表"(将数据表所有记录删除) (4)添加数据记录: sql="insertinto数据表(字段1,字段2,字段3…)valuess(值1,值2,值3…)" sql="insertinto目标数据表select*from源数据表"(把源数据表的记录添加到目标数据表) (5)数据记录统计函数: AVG(字段名)得出一个表格栏平均值 COUNT(*|字段名)对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名)取得一个表格栏最大的值 MIN(字段名)取得一个表格栏最小的值 SUM(字段名)把数据栏的值相加 引用以上函数的方法: sql="selectsum(字段名)as别名from数据表where条件表达式" setrs=conn.excute(sql) 用rs("别名")获取统的计值,其它函数运用同上。 (6)数据表的建立和删除: CREATETABLE数据表名称(字段1类型1(长度),字段2类型2(长度)……) 例: CREATETABLEtab01(namevarchar(50),datetimedefaultnow()) DROPTABLE数据表名称(永久性删除一个数据表) 关于Mysql另外一些经典操作: 你在cmd下看看有没有mysql的服务名 scquerymysql; 如果有,就删掉它(如果你想删的话) scdeletemysql; mysql服务器名字的修改 ①首先应该是要查看“计算机管理-服务"里面有几种mysql选项(针对多个Mysql服务) ②现在win+R下用”scquerymysql(X)“(最好不要带分号,X代表1,2,。 。 。 自己的命名)看是否与刚查看的匹配,然后再删除(scdeletemysql(X)) ③刷新“服务”(最好那项服务已关闭),此时已经消失。 win+R用CD命令进入mysql的bin目录执行: mysqld--install“服务名”,重新添加服务器名; 此时完成服务器名的修改; 更新操作: flushprivileges; mysql密码的破解(很是经典): ①netstopmysql(X); ②Win+R进入需要破解的mysql的bin目录执行命令: mysqld--skip-grant-tables ③Win+R再次进入dos命令行执行以下命令(同样是再bin目录): mysql;(应该是畅通进入)再是命令: updatemysql.usersetpassword=password("newpassword")whereuser="root"; 再次命令: flushprivileges;quit; ④Ctrl+ALt+Del进入任务管理器结束掉mysqld(不管是Administration还是System的);然后退出打开过的dos命令窗口。 ⑤重启mysql即可! 需要注意的是命令在分号(;)上区别(dos命令一般不需要,而mysql类DOS后台需要)! 如果在操作操作过程中出现警告,不用理睬(当然你可以进入mysql的安装目录下找到my.ini文件可用记事本打开,找到[mysql]字样在其下面另起一行添加no-beep即可) mysql的彻底卸载: ①。 通过360来初步卸载,并且来严格删除残余文件;(你也可以进入控制面板,选择windows自带的添加与删除程序来进行初步的卸载) ②。 进入Mysql的安装目录将整个路径完全删除; ③.进入C: \DocumentsandSettings\AllUsers\ApplicationData\MySQL将这个文件夹也一同删除; ④。 进入注册表--cmd--regedit有三个 1.Hkey_local_machine--system--contorlSet001--services--Mysql 2.Hkey_local_machine--system--contorlSet002--services--mysql 3.Hkey_local_machine--system--currentcontorlSet--services--Mysql 至此Mysql应该彻底删除了(有点和SQLServer像) 顺便写一下,Mysql在开发用时遇到的乱码问题(如果在安装Mysql数据时字符的选择你已设置过可能就不会有下面的问题,可见在安装时也是非常重要的一步,“好的开头是成功的一半”): 数据库的编码,需要设置到字段级别。 只设置到table级别是没有用的。 ======================= 对于jsp+mysql的多语言问题,可以用以下解决方案,可以对任意语言都适用。 1.在数据库链接字符串上要形如: jdbc: mysql: //localhost: 3306/db? useUnicode=true&characterEncoding=UTF-8(注意要加characterEncoding=UTF-8) 2.在数据库表和相应的字段都要的charset要选择utf8(字段也要加) 3.在servlet的java中去参数时要加上: httpServletRequest.setCharacterEncoding("UTF-8"); 4.jsp页面要加上字符集: <%@pagelanguage="java"contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"%> mysql在开发用时必须要导入到工程项目中的价包: mysql-connector-java-5.1.13-bin.jar; 附加表A: Mysql的英文术语解释 DetailedConfiguration 详细配置 StandardConfiguration 标准配置 DeveloperMachine 开发设计 ServerMachine 服务器 DedicatedMySQLServerMachine 专业MySql服务器 MultifunctionalDatabase 多功能数据库 TransactionalDatabaseOnly 仅处理数据库 Non-TransactionalDatabaseOnly 费处理数据库 DecisionSupport(DSS)/OLAP] 结果支持 OnlineTransactionProcessing(OLTP) 在线事务处理 ManualSetting 手动调整 EnableTCP/IPNetworking TCP/IP网络可用 EnableStrictMode 精确模式可用 StandardCharacterSet 标准字符集 BestSupportForMultlingualism 多语言支持 ManualSelectedDefaultCharacterSet/Collation 手选默认字符集 InstallAsWindowsService 作为Windows服务的安装 LaunchtheMySQLServerautomatically 自动启动MySql服务器 IncludeBinDirectoryinWindowsPATH 在Windows路径下隐含二进制地址 ModifySecuritySettings 修改安全设置 Readytoexecute 处理准备 Processingconfiguration 处理配置 Ps: 如果你喜欢这篇文档的话,还请下载吧,自己整理了好几天才弄得差不多(做IT真的很不易),最后更是希望这篇文档能对IT从业或爱好者带来帮助!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MySQL 使用 教程 精品
![提示](https://static.bdocx.com/images/bang_tan.gif)