MySQL常用命令汇总.docx

上传人:b****8 文档编号:30640329 上传时间:2023-08-18 格式:DOCX 页数:46 大小:38.82KB
下载 相关 举报
MySQL常用命令汇总.docx_第1页
第1页 / 共46页
MySQL常用命令汇总.docx_第2页
第2页 / 共46页
MySQL常用命令汇总.docx_第3页
第3页 / 共46页
MySQL常用命令汇总.docx_第4页
第4页 / 共46页
MySQL常用命令汇总.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

MySQL常用命令汇总.docx

《MySQL常用命令汇总.docx》由会员分享,可在线阅读,更多相关《MySQL常用命令汇总.docx(46页珍藏版)》请在冰豆网上搜索。

MySQL常用命令汇总.docx

MySQL常用命令汇总

MySQL常用命令汇总——doc版

Mysql常用命令

showdatabases;显示已创建的数据库

createdatabasename;创建新的数据库

usedatabasename;选择名称为”name”的数据库数据库

dropdatabasename直接删除数据库,不提醒

showtables;显示表

describetablename;显示具体的表结构

select中加上distinct过滤重复的字段

mysqladmindropdatabasename删除数据库前,有提示。

显示当前mysql的版本和当前日期

selectversion(),current_date;

修改mysql中root的密码:

shell>mysql-hlocalhost-uroot-p//登录

mysql>updateusersetpassword=password("xueok654123")whereuser='root';

mysql>flushprivileges//刷新数据库

mysql>usedbname;打开数据库:

mysql>showdatabases;显示所有数据库

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

先usemysql;然后

mysql>describeuser;显示表mysql数据库中user表的列信息);

grant

创建用户firstdb(密码firstdb)和数据库,并赋予权限于firstdb数据库

mysql>createdatabasefirstdb;

mysql>grantallonfirstdb.*tofirstdbidentifiedby'firstdb'

会自动创建用户firstdb

mysql默认的是本地主机是localhost,对应的IP地址就是127.0.0.1,所以你用你的IP地址登录

会出错,如果你想用你的IP地址登录就要先进行授权用grant命令。

mysql>grantallon*.*toroot@202.116.39.2identifiedby"123456";

说明:

grant与on之间是各种权限,例如:

insert,select,update等

on之后是数据库名和表名,第一个*表示所有的数据库,第二个*表示所有的表

root可以改成你的用户名,@后可以跟域名或IP地址,identifiedby后面的是登录用的密码,可

以省略,即缺省密码或者叫空密码。

dropdatabasefirstdb;

创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something

做这个

mysql>grantallprivilegeson*.*touser@localhostidentifiedby'something'with

增加新用户

格式:

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

3/29

GRANTALLPRIVILEGESON*.*TOmonty@localhostIDENTIFIEDBY'something'WITH

GRANTOPTION;

GRANTALLPRIVILEGESON*.*TOmailto:

monty@""IDENTIFIEDBY'something'WITH

GRANTOPTION;

删除授权:

mysql>revokeallprivilegeson*.*frommailto:

root@"";

mysql>deletefromuserwhereuser="root"andhost="%";

mysql>flushprivileges;

创建一个用户custom在特定客户端登录,可访问特定数据库fangchandb

mysql>grantselect,insert,update,delete,create,droponfangchandb.*tocustom@

identifiedby'passwd'

重命名表:

mysql>altertablet1renamet2;

mysqldump

备份数据库

shell>mysqldump-hhost-uroot-pdbname>dbname_backup.sql

恢复数据库

shell>mysqladmin-hmyhost-uroot-pcreatedbname

shell>mysqldump-hhost-uroot-pdbname

如果只想卸出建表指令,则命令如下:

shell>mysqladmin-uroot-p-ddatabasename>a.sql

如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下:

shell>mysqladmin-uroot-p-tdatabasename>a.sql

那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢?

mysqldump-T./phptestdriver

其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与

mysqldump同一目录。

如果不指定driver表,则将卸出整个数据库的数据。

每个表会生成两个文件,

一个为.sql文件,包含建表执行。

另一个为.txt文件,只包含数据,且没有sql指令。

可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。

可利用外壳程

序键入重定向实用程序来完成这项工作。

例如,如果在文件my_file.sql中存放有查

询,可如下执行这些查询:

例如,如果您想将建表语句提前写在sql.txt中,

mysql>mysql-hmyhost-uroot-p

Mysql5.0支持的字符集

MySQL中的字符集控制做得比较细,可以分为数据库级,表级,字段级(这一点和ORACLE不

同)。

我上次改的字符集是数据库级的,对表sysuser没有影响,所以出现了改了字符集却一样无法插

入中文的情况。

4/29

DropTABLEIFEXISTS`firstdb`.`users`;

CreateTABLE`firstdb`.`users`(

`id`int(11)NOTNULLauto_increment,

`username`varchar(40)defaultNULL,

`birthday`datedefaultNULL,

PRIMARYKEY(`id`)

)ENGINE=InnoDBDEFAULTCHARSET=gb2312;

编译MySQL时,指定了一个默认的字符集,这个字符集是latin1;

安装MySQL时,可以在配置文件(my.ini)中指定一个默认的的字符集,如果没指定,这个值

继承自编译时指定的;

启动mysqld时,可以在命令行参数中指定一个默认的的字符集,如果没指定,这个值继承自配

置文件中的;

此时character_set_server被设定为这个默认的字符集;

当创建一个新的数据库时,除非明确指定,这个数据库的字符集被缺省设定为

character_set_server;

当选定了一个数据库时,character_set_database被设定为这个数据库默认的字符集;

在这个数据库里创建一张表时,表默认的字符集被设定为character_set_database,也就是这个

数据库默认的字符集;

当在表内设置一栏时,除非明确指定,否则此栏缺省的字符集就是表默认的字符集;

这个字符集就是数据库中实际存储数据采用的字符集,mysqldump出来的内容就是这个字符集

下的;QueryBrowser1.1对中文输入的支持太差劲了,可以用notebook写好后,再copy过去执行

updatefirstdb.userssetusername='以'whereid=3;

MYSQL常用命令

1.导出整个数据库

mysqldump-u用户名-p--default-character-set=latin1数据库名>导出的

文件名(数据库默认编码是latin1)

mysqldump-uwcnc-psmgp_apps_wcnc>wcnc.sql

2.导出一个表

mysqldump-u用户名-p数据库名表名>导出的文件名

mysqldump-uwcnc-psmgp_apps_wcncusers>wcnc_users.sql

3.导出一个数据库结构

mysqldump-uwcnc-p-d-add-drop-tablesmgp_apps_wcnc>d:

wcnc_db.sql

-d没有数据-add-drop-table在每个create语句之前增加一个droptable

4.导入数据库

5/29

A:

常用source命令

进入mysql数据库控制台,

如mysql-uroot-p

mysql>use数据库

然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

mysql>sourcewcnc_db.sql

B:

使用mysqldump命令

mysqldump-uusername-pdbname

C:

使用mysql命令

mysql-uusername-p-Ddbname

一、启动与退出

1、进入MySQL:

启动MySQLCommandLineClient(MySQL的DOS界面),直接输入

安装时的密码即可。

此时的提示符是:

mysql>

2、退出MySQL:

quit或exit

二、库操作

1、、创建数据库

命令:

createdatabase<数据库名>

例如:

建立一个名为xhkdb的数据库

mysql>createdatabasexhkdb;

2、显示所有的数据库

命令:

showdatabases(注意:

最后有个s)

mysql>showdatabases;

3、删除数据库

命令:

dropdatabase<数据库名>

例如:

删除名为xhkdb的数据库

mysql>dropdatabasexhkdb;

4、连接数据库

命令:

use<数据库名>

例如:

如果xhkdb数据库存在,尝试存取它:

mysql>usexhkdb;

屏幕提示:

Databasechanged

5、查看当前使用的数据库

mysql>selectdatabase();

6、当前数据库包含的表信息:

6/29

mysql>showtables;(注意:

最后有个s)

三、表操作,操作之前应连接某个数据库

1、建表

命令:

createtable<表名>(<字段名1><类型1>[,..<字段名n><类型n>]);

mysql>createtableMyClass(

>idint(4)notnullprimarykeyauto_increment,

>namechar(20)notnull,

>sexint(4)notnulldefault'0',

>degreedouble(16,2));

2、获取表结构

命令:

desc表名,或者showcolumnsfrom表名

mysql>DESCRIBEMyClass

mysql>descMyClass;

mysql>showcolumnsfromMyClass;

3、删除表

命令:

droptable<表名>

例如:

删除表名为MyClass的表

mysql>droptableMyClass;

4、插入数据

命令:

insertinto<表名>[(<字段名1>[,..<字段名n>])]values(值1)[,

(值n)]

例如,往表MyClass中插入二条记录,这二条记录表示:

编号为1的名为Tom的成绩

为96.45,编号为2的名为Joan的成绩为82.99,编号为3的名为Wang的成绩为

96.5.

mysql>insertintoMyClassvalues(1,'Tom',96.45),(2,'Joan',82.99),

(2,'Wang',96.59);

5、查询表中的数据

1)、查询所有行

命令:

select<字段1,字段2,...>from<表名>where<表达式>

例如:

查看表MyClass中所有数据

mysql>select*fromMyClass;

2)、查询前几行数据

例如:

查看表MyClass中前2行数据

mysql>select*fromMyClassorderbyidlimit0,2;

或者:

mysql>select*fromMyClasslimit0,2;

7/29

6、删除表中数据

命令:

deletefrom表名where表达式

例如:

删除表MyClass中编号为1的记录

mysql>deletefromMyClasswhereid=1;

7、修改表中数据:

update表名set字段=新值,…where条件

mysql>updateMyClasssetname='Mary'whereid=1;

7、在表中增加字段:

命令:

altertable表名add字段类型其他;

例如:

在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0

mysql>altertableMyClassaddpasstestint(4)default'0'

8、更改表名:

命令:

renametable原表名to新表名;

例如:

在表MyClass名字更改为YouClass

mysql>renametableMyClasstoYouClass;

更新字段内容

update表名set字段名=新内容

update表名set字段名=replace(字段名,'旧内容','新内容');

文章前面加入4个空格

updatearticlesetcontent=concat('',content);

字段类型

1.INT[(M)]型:

正常大小整数类型

2.DOUBLE[(M,D)][ZEROFILL]型:

正常大小(双精密)浮点数字类型

3.DATE日期类型:

支持的范围是1000-01-01到9999-12-31。

MySQL以YYYY-MM-DD

格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列

4.CHAR(M)型:

定长字符串类型,当存储时,总是是用空格填满右边到指定的长

5.BLOBTEXT类型,最大长度为65535(2^16-1)个字符。

6.VARCHAR型:

变长字符串类型

5.导入数据库表

(1)创建.sql文件

(2)先产生一个库如auction.c:

mysqlbin>mysqladmin-uroot-pcreat

auction,会提示输入密码,然后成功创建。

(2)导入auction.sql文件

c:

mysqlbin>mysql-uroot-pauction

通过以上操作,就可以创建了一个数据库auction以及其中的一个表auction

6.修改数据库

8/29

(1)在mysql的表中增加字段:

altertabledbnameaddcolumnuseridint(11)notnullprimarykey

auto_increment;

这样,就在表dbname中添加了一个字段userid,类型为int(11)。

7.mysql数据库的授权

mysql>grantselect,insert,delete,create,drop

on*.*(或test.*/user.*/..)

to用户名@localhost

identifiedby'密码';

如:

新建一个用户帐号以便可以访问数据库,需要进行如下操作:

mysql>grantusage

->ONtest.*

->TOtestuser@localhost;

QueryOK,0rowsaffected(0.15sec)

此后就创建了一个新用户叫:

testuser,这个用户只能从localhost连接到数

据库并可以连接到test数据库。

下一步,我们必须指定testuser这个用户可以执

行哪些操作:

mysql>GRANTselect,insert,delete,update

->ONtest.*

->TOtestuser@localhost;

QueryOK,0rowsaffected(0.00sec)

此操作使testuser能够在每一个test数据库中的表执行Select,Insert和

Delete以及Update查询操作。

现在我们结束操作并退出MySQL客户程序:

mysql>exit

Bye9!

1:

使用SHOW语句找出在服务器上当前存在什么数据库:

mysql>SHOWDATABASES;

2:

2、创建一个数据库MYSQLDATA

mysql>CreateDATABASEMYSQLDATA;

3:

选择你所创建的数据库

mysql>USEMYSQLDATA;(按回车键出现Databasechanged时说明操作成功!

4:

查看现在的数据库中存在什么表

mysql>SHOWTABLES;

5:

创建一个数据库表

mysql>CreateTABLEMYTABLE(nameVARCHAR(20),sexCHAR

(1));

6:

显示表的结构:

mysql>DESCRIBEMYTABLE;

9/29

7:

往表中加入记录

mysql>insertintoMYTABLEvalues("hyq","M");

8:

用文本方式将数据装入数据库表中(例如D:

/mysql.txt)

mysql>LOADDATALOCALINFILE"D:

/mysql.txt"INTOTABLEMYTABLE;

9:

导入.sql文件命令(例如D:

/mysql.sql)

mysql>usedatabase;

mysql>sourced:

/mysql.sql;

10:

删除表

mysql>dropTABLEMYTABLE;

11:

清空表

mysql>deletefromMYTABLE;

12:

更新表中数据

mysql>updateMYTABLEsetsex="f"wherename='hyq';

以下是无意中在网络看到的使用MySql的管理心得,

在windows中MySql以服务形式存在,在使用前应确保此服务已经启动,未启动可用

netstartmysql命令启动。

而Linux中启动时可用"/etc/rc.d/init.d/mysqld

start"命令,注意启动者应具有管理员权限。

刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全

隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除

、root帐户设置密码,可用如下命令进行:

usemysql;

deletefromUserwhereUser="";

updateUsersetPassword=PASSWORD('newpassword')whereUser='root';

如果要对用户所用的登录终端进行限制,可以更新User表中相应用户的Host字段,

在进行了以上更改后应重新启动数据库服务,此时登录时可用如下类似命令:

mysql-uroot-p;

mysql-uroot-pnewpassword;

mysqlmydb-uroot-p;

mysqlmydb-uroot-pnewpassword;

上面命令参数是常用参数的一部分,详细情况可参考文档。

此处的mydb是要登录的

数据库的名称。

在进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用

root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技术的

提高。

我们给一个应用中使用的用户赋予最恰当的数据库权限。

如一个只进行数据

10/29

插入的用户不应赋予其删除数据的权限。

MySql的用户管理是通过User表来实现的

,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应

的权限;二是通过GRANT命令创建具有某种权限的用户。

其中GRANT的常用用法如下

grantallonmydb.*toNewUserName@HostNameidentifiedby"password";

grantusageon*.*toNewUserName@HostNameidentifiedby"pass

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

当前位置:首页 > 自然科学 > 物理

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

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