MYSQL初学者教程.docx

上传人:b****4 文档编号:11945485 上传时间:2023-04-16 格式:DOCX 页数:26 大小:25.17KB
下载 相关 举报
MYSQL初学者教程.docx_第1页
第1页 / 共26页
MYSQL初学者教程.docx_第2页
第2页 / 共26页
MYSQL初学者教程.docx_第3页
第3页 / 共26页
MYSQL初学者教程.docx_第4页
第4页 / 共26页
MYSQL初学者教程.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

MYSQL初学者教程.docx

《MYSQL初学者教程.docx》由会员分享,可在线阅读,更多相关《MYSQL初学者教程.docx(26页珍藏版)》请在冰豆网上搜索。

MYSQL初学者教程.docx

MYSQL初学者教程

MYSQL初学者自己安装mysql

使用教程指南

内容提要:

有很多朋友虽然安装好了mysql但却不知如何使用它这篇文章中我就从连接mysql

修改密码、增加用户等方面来学习一些mysql常用命令。

一、连接mysql

格式:

mysql-h主机地址 -u用户名 p用户密码

1例1连接到本机上的mysql

首先在打开DOS窗口,然后进入目录mysqli

有很多朋友虽然安装好了mysql但却不知如何使用它这篇文章中我就从连接mysql

修改密码、增加用户等方面来学习一些mysql常用命令。

一、连接mysql

格式:

mysql-h主机地址-u用户名p用户密码

1例1连接到本机上的mysql

首先在打开DOS窗口,然后进入目录mysqlin再键入命令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回车)

二、修改密码。

格式:

mysqladmin-u用户名-p旧密码password新密码

1例1给root加个密码ab12首先在DOS下进入目录mysqlbin然后键入以下命令

mysqladmin-urootpasswordab12

注:

因为开始时root没有密码,所以-p旧密码一项就可以省略了

2例2再将root密码改为djg345

mysqladmin-uroot-pab12passworddjg345

另一种方法:

shell>mysql-uroot-p

mysql>SETPASSWORDFORroot=PASSWORD"root";

三、增加新用户。

注意:

和上面不同,下面的因为是mysql环境中的命令,所以后面都带

一个分号作为命令结束符)

格式:

grantselecton数据库.*to用户名@登录主机identifiby"密码"

例1增加一个用户test1密码为abc让他可以在任何主机上登录,并对所有数据库有

查询、拔出、修改、删除的权限。

首先用以root用户连入mysql然后键入以下命

令:

grantselect,insert,update,deleton*.*totest1@"%"Identified

bi"abc";

但例1增加的用户是十分危险的想如某个人知道test1密码,那么他就可以在

internet上的任何一台电脑上登录你mysql数据库并对你数据可以为所欲为了

解决方法见例2

例2增加一个用户test2密码为abc,让其只可以在localhost上登录,并可以对数据库

mydb进行查询、拔出、修改、删除的操作(localhost指本地主机,即mysql数据

库所在那台主机)这样用户即使用知道test2密码,也无法从internet上直

接访问数据库,只能通过mysql主机上的web页来访问了

grantselect,insert,update,deletonmydb.*totest2@localhost

identifiby"abc";

如果你不想test2有密码,可以再打一个命令将密码消掉。

grantselect,insert,update,deletonmydb.*totest2@localhost

identifiby"";

有关数据库方面的操作。

注意:

必需首先登录到mysql中,以下操作都是mysql提

示符下进行的而且每个命令以分号结束。

一、操作技巧

1如果你打命令时,回车后发现忘记加分号,无须重打一遍命令,只要打个分号回

车就可以了也就是说你可以把一个完整的命令分成几行来打,完后用分号作结束

标志就OK

2可以使用光标上下键调出以前的命令。

但以前我用过的一个mysql旧版本不支持。

现在用的mysql-3.23.27-beta-win

二、显示命令

1显示数据库列表。

showdatabases;

刚开始时才两个数据库:

mysql和testmysql库很重要它里面有mysql系统信息,

改密码和新增用户,实际上就是用这个库进行操作。

2显示库中的数据表:

usemysql打开库,学过FOXBASE一定不会陌生吧

showtables;

3显示数据表的结构:

describ表名;

4建库:

creatdatabas库名;

5建表:

use库名;

creattabl表名(字段设定列表)

6删库和删表:

dropdatabas库名;

droptabl表名;

7将表中记录清空:

deletfrom表名;

8显示表中的记录:

select*from表名;

三、一个建库和建表以及插入数据的实例

dropdatabasifexistschool;//如果存在SCHOOL则删除

creatdatabasschool;//建立库SCHOOL

useschool;//打开库SCHOOL

creattablteacher//建立表TEACHER

 

idint3auto_incrnotnullprimarikey,

namchar10notnull,

addressvarchar50default'深圳',

yeardate

;//建表结束

//以下为插入字段

insertintoteachervalu'','glchengang','深圳一中','1976-10-10';

insertintoteachervalu'','jack','深圳一中','1975-12-23';

注:

建表中

1将ID设为长度为3数字字段:

int3并让它每个记录自动加一:

auto_incr

并不能为空:

notnull而且让它成为主字段primarikey

2将NAME设为长度为10字符字段

3将ADDRESS设为长度50字符字段,而且缺省值为深圳。

varchar和char有什么区别

呢,只有等以后的文章再说了

4将YEAR设为日期字段。

如果你mysql提示符键入上面的命令也可以,但不方便调试。

可以将以上命令

原样写入一个文本文件中假设为school.sql然后复制到c:

下,并在DOS状态进入目录

mysqlin然后键入以下命令:

mysql-uroot-p密码

school.sql

如果胜利,空出一行无任何显示;如有错误,会有提示。

以上命令已经调试,

只要将//注释去掉即可使用)

四、将文本数据转到数据库中

1文本数据应符合的格式:

字段数据之间用tab键隔开,null值用来代替。

例:

3rose深圳二中1976-10-10

4mike深圳一中1975-12-23

2数据传入命令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一个文本文件,文件名任取,打开看看你会有新发现。

导入表

mysql

mysql>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

复制数据库

mysqldump--all-databas>all-databases.sql

注释:

将所有数据库备份到all-databases.sql文件,all-databases.sql一个文本文件,

文件名任取。

导入数据库

mysql

mysql>dropdatabasa;

mysql>dropdatabasb;

mysql>dropdatabasc;

...

mysql>sourcall-databases.sql;或exit退出mysql后mysql

后记:

其实mysql对数据库的操作与其它SQL类数据库大同小异,您最好找本将SQL书看

看。

这里只介绍一些基本的其实我也就只懂这些了呵呵。

最好的mysql教程还是"晏子"译的"mysql中文参考手册"不只免费,每个相关网站都有

下载,而且它最权威的可惜不象"PHP4中文手册"那样是chm格式,查找函数命令的

时候不太方便。

3.打开数据库:

usdbname

显示所有数据库:

showdatabases;

显示数据库mysql中所有的表:

先usmysql然后showtables;

显示表的列信息:

describuser;显示表mysql数据库中user表的信息)

4.创立一个可以从任何地方连接服务器的一个完全的超级用户,但是必需使用一个口令someth做这个

GRANTALLPRIVILEGESON*.*TOmonty@localhostIDENTIFIEDBY'something'WITHGRANTOPTION;

GRANTALLPRIVILEGESON*.*TOmonty@"%"IDENTIFIEDBY'something'WITHGRANTOPTION;

5.删除授权:

REVOKEALLPRIVILEGESON*.*FROMroot@"%";

USEmysql;

DELETEFROMuserWHEREUser="root"andHost="%";

FLUSHPRIVILEGES;

6.创立一个用户custom特定客户端登录,可访问特定数据库bankaccount

mysql>GRANTSELECT,INSERT,UPDATE,DELETE,CREATE,DROPONbankaccount.*

TO[email]custom@[/email]IDENTIFIEDBY'stupid';

7.重命名表:

ALTERTABLEt1RENAMEt2;

为了改变列a从INTEGER改为TINYINTNOTNULL名字一样)

并且改变列b从CHAR10改为CHAR20同时重命名它从b改为c:

ALTERTABLEt2MODIFYaTINYINTNOTNULL,CHANGEbcCHAR20;

增加一个新TIMESTAMP列,名为d

ALTERTABLEt2ADDdTIMESTAMP;

列d上增加一个索引,并且使列a为主键:

ALTERTABLEt2ADDINDEXd,ADDPRIMARYKEYa;

删除列c

ALTERTABLEt2DROPCOLUMNc;

增加一个新的AUTO_INCREMENT整数列,命名为c

ALTERTABLEt2ADDcINTUNSIGNEDNOTNULLAUTO_INCREMENT,ADDINDEXc;

注意,索引了c因为AUTO_INCREMENT柱必须被索引,并且另外我声明c为NOTNULL

因为索引了列不能是NULL

8.删除记录:

DELETEFROMt1WHEREC>10;

6.改变某几行:

UPDATEt1SETuser=weiqiong,password=weiqiong;

7.使用name列的头10个字符创建一个索引:

CREATEINDEXpart_of_namONcustomname10;

 

 

 

数据导入问题byseseandZjtv

大家一定使用过phpmyadmin里面的数据库导入,导出功能,非常方便。

但是实际应用中,发现如下几个问题:

1数据库超过一定尺寸,比方6M这时使用导出一般没问题,可以正确的保管到本机硬盘上面,但是导入则不行!

原因是一般的PHP.INI里面设置临时文件/上传文件的大小限制为2M而phpmyadmin使用了上传的方式,造成失败。

2导出到硬盘的.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里面的数据库导入,导出功能,非常方便。

但是实际应用中,发现如下几个问题:

1数据库超过一定尺寸,比方6M这时使用导出一般没问题,可以正确的保管到本机硬盘上面,但是导入则不行!

原因是一般的PHP.INI里面设置临时文件/上传文件的大小限制为2M而phpmyadmin使用了上传的方式,造成失败。

2导出到硬盘的.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";

?

>

 

1显示数据库列表。

showdatabases;

刚开始时才两个数据库:

mysql和testmysql库很重要它里面有mysql系统信息,

改密码和新增用户,实际上就是用这个库进行操作。

2显示库中的数据表:

usemysql打开库,学过FOXBASE一定不会陌生吧

showtables;

3显示数据表的结构:

describ表名;

4建库:

creatdatabas库名;

5建表:

use库名;

creattabl表名(字段设定列表)

6删库和删表:

dropdatabas库名;

droptabl表名;

7将表中记录清空:

deletfrom表名;

8显示表中的记录:

select*from表名;

三、一个建库和建表以及插入数据的实例

dropdatabasifexistschool;//如果存在SCHOOL则删除

creatdatabasschool;//建立库SCHOOL

useschool;//打开库SCHOOL

creattablteacher//建立表TEACHER

 

idint3auto_incrnotnullprimarikey,

namchar10notnull,

addressvarchar50default'深圳',

yeardate

;//建表结束

//以下为插入字段

insertintoteachervalu'','glchengang','深圳一中','1976-10-10';

insertintoteachervalu'','jack','深圳一中','1975-12-23';

注:

建表中

1将ID设为长度为3数字字段:

int3并让它每个记录自动加一:

auto_incr

并不能为空:

notnull而且让它成为主字段primarikey

2将NAME设为长度为10字符字段

3将ADDRESS设为长度50字符字段,而且缺省值为深圳。

varchar和char有什么区别

呢,只有等以后的文章再说了

4将YEAR设为日期字段。

如果你mysql提示符键入上面的命令也可以,但不方便调试。

可以将以上命令

原样写入一个文本文件中假设为school.sql然后复制到c:

下,并在DOS状态进入目录

mysqlin然后键入以下命令:

mysql-uroot-p密码

school.sql

如果胜利,空出一行无任何显示;如有错误,会有提示。

以上命令已经调试,

只要将//注释去掉即可使用)

四、将文本数据转到数据库中

1文本数据应符合的格式:

字段数据之间用tab键隔开,null值用来代替。

例:

3rose深圳二中1976-10-10

4mike深圳一中1975-12-23

2数据传入命令loaddatalocalinfil"文件名"intotabl表名;

注意:

最好将文件复制到mysqlin目录下,并且要先用us命令选表所在库。

五、导出和导入数据:

命令在DOSmysqlin目录下执行)

导出表

mysqldump--optschool>school.sql

注释:

将数据库school中的表全部备份到school.sql文件,school.sql一个文本文件,

文件

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1