mysql使用教程指南_第1页
mysql使用教程指南_第2页
mysql使用教程指南_第3页
mysql使用教程指南_第4页
mysql使用教程指南_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、连接mysql格式:mysql-h主机地址-u用户名p用户密码例1连接到本机上的mysql首先在打开DOS窗口,然后进入目录mysqlin再键入命令mysql-uroot-p回车后提示你输密码,如果刚安装好mysql超级用户root没有密码的故直接回车即可进入到mysql中了mysql提示符是mysql>例2连接到远程主机上的mysql假设远程主机的IP为:110.110.110.110用户名为root,密码为abcd123则键入以下命令:mysql-h110.110.110.110-uroot-pabcd123注:u与root可以不必加空格,其它也一样)退出mysql命令:exit回车)二、修改密码。格式:mysqladmin-u用户名-p旧密码password新密码例1给root加个密码ab12首先在DOS下进入目录mysqlbin然后键入以下命令mysqladmin-urootpasswordab12注:因为开始时root没有密码,所以-p旧密码一项就可以省略了例2再将root密码改为djg345mysqladmin-uroot-pab12passworddjg345另一种方法:shell>mysql-uroot-pmysql>SETPASSWORDFORroot=PASSWORD"root";三、增加新用户。注意:和上面不同,下面的因为是mysql环境中的命令,所以后面都带一个分号作为命令结束符)格式:grantselecton数据库.*to用户名@登录主机identifiby"密码"例1增加一个用户test1密码为abc让他可以在任何主机上登录,并对所有数据库有查询、拔出、修改、删除的权限。首先用以root用户连入mysql然后键入以下命令:grantselect,insert,update,deleton*.*totest1@"%"Identifiedbi"abc";但例1增加的用户是十分危险的想如某个人知道test1密码,那么他就可以在internet上的任何一台电脑上登录你mysql数据库并对你数据可以为所欲为了解决方法见例2例2增加一个用户test2密码为abc,让其只可以在localhost上登录,并可以对数据库mydb进行查询、拔出、修改、删除的操作(localhost指本地主机,即mysql数据库所在那台主机)这样用户即使用知道test2密码,也无法从internet上直接访问数据库,只能通过mysql主机上的web页来访问了grantselect,insert,update,deletonmydb.*totest2@localhostidentifiby"abc";如果你不想test2有密码,可以再打一个命令将密码消掉。grantselect,insert,update,deletonmydb.*totest2@localhostidentifiby"";有关数据库方面的操作。注意:必需首先登录到mysql中,以下操作都是mysql提示符下进行的而且每个命令以分号结束。一、操作技巧如果你打命令时,回车后发现忘记加分号,无须重打一遍命令,只要打个分号回车就可以了也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束标志就OK可以使用光标上下键调出以前的命令。但以前我用过的一个mysql旧版本不支持。现在用的mysql-3.23.27-beta-win二、显示命令显示数据库列表。showdatabases;刚开始时才两个数据库:mysql和testmysql库很重要它里面有mysql系统信息,改密码和新增用户,实际上就是用这个库进行操作。显示库中的数据表:usemysql打开库,学过FOXBASE一定不会陌生吧showtables;显示数据表的结构:describ表名;建库:creatdatabas库名;建表:use库名;creattabl表名(字段设定列表)删库和删表:dropdatabas库名;droptabl表名;将表中记录清空:deletfrom表名;显示表中的记录:select*from表名;三、一个建库和建表以及插入数据的实例Dropdatabasifexistschool;//如果存在SCHOOL则删除creatdatabasschool;//建立库SCHOOLuseschool;//打开库SCHOOLcreattablteacher//建立表TEACHERidint3auto_incrnotnullprimarikey,namchar10notnull,addressvarchar50default'深圳',yeardate;//建表结束//以下为插入字段insertintoteachervalu'','glchengang','深圳一中','1976-10-10';insertintoteachervalu'','jack','深圳一中','1975-12-23';注:建表中将ID设为长度为3数字字段:int3并让它每个记录自动加一:auto_incr并不能为空:notnull而且让它成为主字段primarikey将NAME设为长度为10字符字段将ADDRESS设为长度50字符字段,而且缺省值为深圳。varchar和char有什么区别呢,只有等以后的文章再说了将YEAR设为日期字段。如果你mysql提示符键入上面的命令也可以,但不方便调试。可以将以上命令原样写入一个文本文件中假设为school.sql然后复制到c:下,并在DOS状态进入目录mysqlin然后键入以下命令:mysql-uroot-p密码<c:school.sql如果胜利,空出一行无任何显示;如有错误,会有提示。以上命令已经调试,只要将//注释去掉即可使用)四、将文本数据转到数据库中文本数据应符合的格式:字段数据之间用tab键隔开,null值用来代替。例:3rose深圳二中1976-10-104mike深圳一中1975-12-23数据传入命令loaddatalocalinfil"文件名"intotabl表名;注意:最好将文件复制到mysqlin目录下,并且要先用us命令选表所在库。五、导出和导入数据:命令在DOSmysqlin目录下执行)导出表mysqldump--optschool>school.sql注释:将数据库school中的表全部备份到school.sql文件,school.sql一个文本文件,文件名任取,打开看看你会有新发现。mysqldump--optschoolteacherstudent>school.teacher.student.sql注释:将数据库school中的teacher表和student表备份到school.teacher.student.sql文件,school.teacher.student.sql一个文本文件,文件名任取,打开看看你会有新发现。导入表mysqlmysql>crdatabasschool;mysql>usschool;mysql>sourcschool.sql;或将school.sql换为school.teacher.sql/school.teacher.student.sql导出数据库mysqldump--databasdb1db2>db1.db2.sql注释:将数据库dbl和db2备份到db1.db2.sql文件,db1.db2.sql一个文本文件,文件名任取,打开看看你会有新发现。举个例子:mysqldump-hhost-uuser-ppass--databasdbname>file.dump就是把host上的以名字user口令pass数据库dbname导入到文件file.dump中。导入数据库mysql<db1.db2.sql复制数据库mysqldump--all-databas>all-databases.sql注释:将所有数据库备份到all-databases.sql文件,all-databases.sql一个文本文件,文件名任取。导入数据库mysqlmysql>dropdatabasa;mysql>dropdatabasb;mysql>dropdatabasc;……mysql>sourcall-databases.sql;或exit退出mysql后mysqlGRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROPONbankaccount.*TO[email]custom@weiqiong[/email]IDENTIFIEDBY'stupid';7.重命名表:ALTERTABLEt1RENAMEt2;为了改变列a从INTEGER改为TINYINTNOTNULL名字一样)并且改变列b从CHAR10改为CHAR20同时重命名它从b改为c:ALTERTABLEt2MODIFYaTINYINTNOTNULL,CHANGEbcCHAR20;增加一个新TIMESTAMP列,名为dALTERTABLEt2ADDdTIMESTAMP;列d上增加一个索引,并且使列a为主键:ALTERTABLEt2ADDINDEXd,ADDPRIMARYKEYa;删除列cALTERTABLEt2DROPCOLUMNc;增加一个新的AUTO_INCREMENT整数列,命名为cALTERTABLEt2ADDcINTUNSIGNEDNOTNULLAUTO_INCREMENT,ADDINDEXc;注意,索引了c因为AUTO_INCREMENT柱必须被索引,并且另外我声明c为NOTNULL因为索引了列不能是NULL8.删除记录:DELETEFROMt1WHEREC>10;6.改变某几行:UPDATEt1SETuser=weiqiong,password=weiqiong;7.使用name列的头10个字符创建一个索引:CREATEINDEXpart_of_namONcustomname10;数据导入问题byseseandZjtv大家一定使用过phpmyadmin里面的数据库导入,导出功能,非常方便。但是实际应用中,发现如下几个问题:数据库超过一定尺寸,比方6M这时使用导出一般没问题,可以正确的保管到本机硬盘上面,但是导入则不行!原因是一般的PHP.INI里面设置临时文件/上传文件的大小限制为2M而phpmyadmin使用了上传的方式,造成失败。导出到硬盘的.SQL文件在导回时,经常呈现由于某些单引号的问题引起失败,造成导入失败,只能用mysql等应用程序导入了数据库已经超过10M,所以必需解决这个问题。思路:导出:用phpmyadmin保管数据库/表格结构,用脚本读取数据库内容并保存到文件里面!导入:用phpmyadmin恢复数据库/表格结构,用脚本读取文件,然后保管到库里面!导出顺序如下:调用方法为****.php?table=tablename这个简单的顺序目前一次保存一个表格!每行为一个字段的数据!if$table==""exit;mysql_connect"localhost","name","password";mysql_select_db"database";$result=mysql_queri"select*from$table";ifmysql_num_row$result<=0exit;echo"开始转换数据到文本……";$handl=fopen"$table.txt","w";$numfield=mysql_num_field$result;fput$handle,$numfields."\r\n";for$k=0;$k{$msg=mysql_fetch_row$result;for$i=0;$i<$numfields;$i++{$msg[$i]=str_replac"\r\n","&&php2000mysqlreturn&&",$msg[$i];$msg[$i]=str_replac"\n","&&php2000mysqlreturn&&",$msg[$i];fput$handle,$msg[$i]."\r\n";}fput$handle,"php2000dumpdataprogramV1.0forMySQL\r\n";}fclose$handl;echo"ok";>导入的顺序如下:用法同上面!if$table==""exit;mysql_connect"localhost","name","password";mysql_select_db"database";$messag=file"$table.txt";echo$numfield=chop$message[0];for$k=1;$k{$value="";for$i=$k;$i<$k+$numfields-1;$i++{$tmp=str_replac"&&php2000mysqlreturn&&","\r\n",chop$message[$i];$valu.="'".addslash$tmp."',";}$tmp=str_replac"&&php2000mysqlreturn&&","\r\n",chop$message[$k+$numfields-1];$valu.="'".$tmp."'";$queri="insertinto$tablvalu".$value."";echomysql_error;mysql_queri$queri;echo$k."";}echo"ok";>大家一定使用过phpmyadmin里面的数据库导入,导出功能,非常方便。但是实际应用中,发现如下几个问题:数据库超过一定尺寸,比方6M这时使用导出一般没问题,可以正确的保管到本机硬盘上面,但是导入则不行!原因是一般的PHP.INI里面设置临时文件/上传文件的大小限制为2M而phpmyadmin使用了上传的方式,造成失败。导出到硬盘的.SQL文件在导回时,经常呈现由于某些单引号的问题引起失败,造成导入失败,只能用mysql等应用程序导入了数据库已经超过10M,所以必需解决这个问题。思路:导出:用phpmyadmin保管数据库/表格结构,用脚本读取数据库内容并保存到文件里面!导入:用phpmyadmin恢复数据库/表格结构,用脚本读取文件,然后保管到库里面!导出顺序如下:调用方法为****.php?table=tablename这个简单的顺序目前一次保存一个表格!每行为一个字段的数据!if$table==""exit;mysql_connect"localhost","name","password";mysql_select_db"database";$result=mysql_queri"select*from$table";ifmysql_num_row$result<=0exit;echo"开始转换数据到文本……";$handl=fopen"$table.txt","w";$numfield=mysql_num_field$result;fput$handle,$numfields."\r\n";for$k=0;$k{$msg=mysql_fetch_row$result;for$i=0;$i<$numfields;$i++{$msg[$i]=str_replac"\r\n","&&php2000mysqlreturn&&",$msg[$i];$msg[$i]=str_replac"\n","&&php2000mysqlreturn&&",$msg[$i];fput$handle,$msg[$i]."\r\n";}fput$handle,"php2000dumpdataprogramV1.0forMySQL\r\n";}fclose$handl;echo"ok";>导入的顺序如下:用法同上面!if$table==""exit;mysql_connect"localhost","name","password";mysql_select_db"database";$messag=file"$table.txt";echo$numfield=chop$message[0];for$k=1;$k{$value="";for$i=$k;$i<$k+$numfields-1;$i++{$tmp=str_replac"&&php2000mysqlreturn&&","\r\n",chop$message[$i];$valu.="'".addslash$tmp."',";}$tmp=str_replac"&&php2000mysqlreturn&&","\r\n",chop$message[$k+$numfields-1];$valu.="'".$tmp."'";$queri="insertinto$tablvalu".$value."";echomysql_error;mysql_queri$queri;echo$k."";}echo"ok";>显示数据库列表。showdatabases;刚开始时才两个数据库:mysql和testmysql库很重要它里面有mysql系统信息,改密码和新增用户,实际上就是用这个库进行操作。显示库中的数据表:usemysql打开库,学过FOXBASE一定不会陌生吧showtables;显示数据表的结构:describ表名;建库:creatdatabas库名;建表:use库名;creattabl表名(字段设定列表)删库和删表:dropdatabas库名;droptabl表名;将表中记录清空:deletfrom表名;显示表中的记录:select*from表名;三、一个建库和建表以及插入数据的实例dropdatabasifexistschool;//如果存在SCHOOL则删除creatdatabasschool;//建立库SCHOOLuseschool;//打开库SCHOOLcreattablteacher//建立表TEACHERidint3auto_incrnotnullprimarikey,namchar10notnull,addressvarchar50default'深圳',yeardate;//建表结束//以下为插入字段insertintoteachervalu'','glchengang','深圳一中','1976-10-10';insertintoteachervalu'','jack','深圳一中','1975-12-23';注:建表中将ID设为长度为3数字字段:int3并让它每个记录自动加一:auto_incr并不能为空:notnull而且让它成为主字段primarikey将NAME设为长度为10字符字段将ADDRESS设为长度50字符字段,而且缺省值为深圳。varchar和char有什么区别呢,只有等以后的文章再说了将YEAR设为日期字段。如果你mysql提示符键入上面的命令也可以,但不方便调试。可以将以上命令原样写入一个文本文件中假设为school.sql然后复制到c:下,并在DOS状态进入目录mysqlin然后键入以下命令:mysql-uroot-p密码<c:school.sql如果胜利,空出一行无任何显示;如有错误,会有提示。以上命令已经调试,只要将//注释去掉即可使用)四、将文本数据转到数据库中文本数据应符合的格式:字段数据之间用tab键隔开,null值用来代替。例:3rose深圳二中1976-10-104mike深圳一中1975-12-23数据传入命令loaddatalocalinfil"文件名"intotabl表名;注意:最好将文件复制到mysqlin目录下,并且要先用us命令选表所在库。五、导出和导入数据:命令在DOSmysqlin目录下执行)导出表mysqldump--optschool>school.sql注释:将数据库school中的表全部备份到school.sql文件,school.sql一个文本文件,文件名任取,打开看看你会有新发现。mysqldump--optschoolteacherstudent>school.teacher.student.sql注释:将数据库school中的teacher表和student表备份到school.teacher.student.sql文件,school.teacher.student.sql一个文本文件,文件名任取,打开看看你会有新发现。导入表mysqlmysql>crdatabasschool;mysql>usschool;mysql>sourcschool.sql;或将school.sql换为school.teacher.sql/school.teacher.student.sql导出数据库mysqldump--databasdb1db2>db1.db2.sql注释:将数据库dbl和db2备份到db1.db2.sql文件,db1.db2.sql一个文本文件,文件名任取,打开看看你会有新发现。举个例子:mysqldump-hhost-uuser-ppass--databasdbname>file.dump就是把host上的以名字user口令pass数据库dbname导入到文件file.dump中。导入数据库mysql<db1.db2.sql复制数据库mysqldump--all-databas>all-databases.sql注释:将所有数据库备份到all-databases.sql文件,all-databases.sql一个文本文件,文件名任取。导入数据库mysqlmysql>dropdatabasa;mysql>dropdatabasb;mysql>dropdatabasc;……mysql>sourcall-databases.sql;或exit退出mysql后mysqlGRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROPONbankaccount.*TO[email]custom@weiqiong[/email]IDENTIFIEDBY'stupid';7.重命名表:ALTERTABLEt1RENAMEt2;为了改变列a从INTEGER改为TINYINTNOTNULL名字一样)并且改变列b从CHAR10改为CHAR20同时重命名它从b改为c:ALTERTABLEt2MODIFYaTINYINTNOTNULL,CHANGEbcCHAR20;增加一个新TIMESTAMP列,名为dALTERTABLEt2ADDdTIMESTAMP;列d上增加一个索引,并且使列a为主键:ALTERTABLEt2ADDINDEXd,ADDPRIMARYKEYa;删除列cALTERTABLEt2DROPCOLUMNc;增加一个新的AUTO_INCREMENT整数列,命名为cALTERTABLEt2ADDcINTUNSIGNEDNOTNULLAUTO_INCREMENT,ADDINDEXc;注意,索引了c因为AUTO_INCREMENT柱必须被索引,并且另外我声明c为NOTNULL因为索引了列不能是NULL8.删除记录:DELETEFROMt1WHEREC>10;6.改变某几行:UPDATEt1SETuser=weiqiong,password=weiqiong;7.使用name列的头10个字符创建一个索引:CREATEINDEXpart_of_namONcustomname10;数据导入问题byseseandZjtv大家一定使用过phpmyadmin里面的数据库导入,导出功能,非常方便。但是实际应用中,发现如下几个问题:数据库超过一定尺寸,比方6M这时使用导出一般没问题,可以正确的保管到本机硬盘上面,但是导入则不行!原因是一般的PHP.INI里面设置临时文件/上传文件的大小限制为2M而phpmyadmin使用了上传的方式,造成失败。导出到硬盘的.SQL文件在导回时,经常呈现由于某些单引号的问题引起失败,造成导入失败,只能用mysql等应用程序导入了数据库已经超过10M,所以必需解决这个问题。思路:导出:用phpmyadmin保管数据库/表格结构,用脚本读取数据库内容并保存到文件里面!导入:用phpmyadmin恢复数据库/表格结构,用脚本读取文件,然后保管到库里面!导出顺序如下:调用方法为****.php?table=tablename这个简单的顺序目前一次保存一个表格!每行为一个字段的数据!if$table==""exit;mysql_connect"localhost","name","password";mysql_select_db"database";$result=mysql_queri"select*from$table";ifmysql_num_row$result<=0exit;echo"开始转换数据到文本……";$handl=fopen"$table.txt","w";$numfield=mysql_num_field$result;fput$handle,$numfields."\r\n";for$k=0;$k{$msg=mysql_fetch_row$result;for$i=0;$i<$numfields;$i++{$msg[$i]=str_replac"\r\n","&&php2000mysqlreturn&&",$msg[$i];$msg[$i]=str_replac"\n","&&php2000mysqlreturn&&",$msg[$i];fput$handle,$msg[$i]."\r\n";}fput$handle,"php2000dumpdataprogramV1.0forMySQL\r\n";}fclose$handl;echo"ok";>导入的顺序如下:用法同上面!if$table==""exit;mysql_connect"localhost","name","password";mysql_select_db"database";$messag=file"$table.txt";echo$numfield=chop$message[0];for$k=1;$k{$value="";for$i=$k;$i<$k+$numfields-1;$i++{$tmp=str_replac"&&php2000mysqlreturn&&","\r\n",chop$message[$i];$valu.="'".addslash$tmp."',";}$tmp=str_replac"&&php2000mysqlreturn&&","\r\n",chop$message[$k+$numfields-1];$valu.="'".$tmp."'";$queri="insertinto$tablvalu".$value."";echomysql_error;mysql_queri$queri;echo$k."";}echo"ok";>大家一定使用过phpmyadmin里面的数据库导入,导出功能,非常方便。但是实际应用中,发现如下几个问题:数据库超过一定尺寸,比方6M这时使用导出一般没问题,可以正确的保管到本机硬盘上面,但是导入则不行!原因是一般的PHP.INI里面设置临时文件/上传文件的大小限制为2M而phpmyadmin使用了上传的方式,造成失败。导出到硬盘的.SQL文件在导回时,经常呈现由于某些单引号的问题引起失败,造成导入失败,只能用mysql等应用程序导入了数据库已经超过10M,所以必需解决这个问题。思路:导出:用phpmyadmin保管数据库/表格结构,用脚本读取数据库内容并保存到文件里面!导入:用phpmyadmin恢复数据库/表格结构,用脚本读取文件,然后保管到库里面!导出顺序如下:调用方法为****.php?table=tablename这个简单的顺序目前一次保存一个表格!每行为一个字段的数据!if$table==""exit;mysql_connect"localhost","name","password";mysql_select_db"database";$r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论