mysql常用命令文档格式.docx

上传人:b****6 文档编号:8604212 上传时间:2023-05-12 格式:DOCX 页数:11 大小:22.78KB
下载 相关 举报
mysql常用命令文档格式.docx_第1页
第1页 / 共11页
mysql常用命令文档格式.docx_第2页
第2页 / 共11页
mysql常用命令文档格式.docx_第3页
第3页 / 共11页
mysql常用命令文档格式.docx_第4页
第4页 / 共11页
mysql常用命令文档格式.docx_第5页
第5页 / 共11页
mysql常用命令文档格式.docx_第6页
第6页 / 共11页
mysql常用命令文档格式.docx_第7页
第7页 / 共11页
mysql常用命令文档格式.docx_第8页
第8页 / 共11页
mysql常用命令文档格式.docx_第9页
第9页 / 共11页
mysql常用命令文档格式.docx_第10页
第10页 / 共11页
mysql常用命令文档格式.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

mysql常用命令文档格式.docx

《mysql常用命令文档格式.docx》由会员分享,可在线阅读,更多相关《mysql常用命令文档格式.docx(11页珍藏版)》请在冰点文库上搜索。

mysql常用命令文档格式.docx

'

linesterminatedby'

\n'

fromallcontigslimit100;

解释:

在linux系统下,将数据库raw中的allcontigs中的前100条数据备份到/tmp/dump.txt文件中(不知道问什么只能备份到/tmp目录下)。

首先在mysql>

useraw;

执行该命令。

fieldsterminatedby'

表示每个字段以\t作为分隔符,

optionallyenclosedby'

表示数字类型的数据不会被指定字符“包装”。

linesterminatedby'

表示每条记录以\n(换行)结束。

6.生成一张表的标准语法:

CREATETABLE`test`.`tst`(

`id`INT(10)NOTNULLAUTO_INCREMENTPRIMARYKEY,

`name`VARCHAR(20)CHARACTERSETutf8COLLATEutf8_unicode_ciNOTNULL

)ENGINE=MYISAM;

一、启动与退出

1、进入MySQL:

启动MySQLCommandLineClient(MySQL的DOS界面),直接输入安装时的密码即可。

此时的提示符是:

2、退出MySQL:

quit或exit

二、库操作

1、、创建数据库

命令:

createdatabase<

数据库名>

建立一个名为xhkdb的数据库

createdatabasexhkdb;

2、显示所有的数据库

showdatabases(注意:

最后有个s)

showdatabases;

3、删除数据库

dropdatabase<

删除名为xhkdb的数据库

dropdatabasexhkdb;

4、连接数据库

use<

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

usexhkdb;

屏幕提示:

Databasechanged

5、当前选择(连接)的数据库

selectdatabase();

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

showtables;

(注意:

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

1、建表

createtable<

表名>

(<

字段名1>

<

类型1>

[,..<

字段名n>

类型n>

]);

createtableMyClass(

>

idint(4)notnullprimarykeyauto_increment,

namechar(20)notnull,

sexint(4)notnulldefault'

0'

degreedouble(16,2));

2、获取表结构

desc表名,或者showcolumnsfrom表名

DESCRIBE 

 

MyClass

descMyClass;

showcolumnsfromMyClass;

3、删除表

droptable<

删除表名为MyClass的表

droptableMyClass;

4、插入数据

insertinto<

[(<

[,..<

字段名n>

])]values(值1)[,(值n)]

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

编号为1的名为Tom的成绩为96.45,编号为2的名为Joan的成绩为82.99,编号为3的名为Wang的成绩为96.5.

insertintoMyClassvalues(1,'

Tom'

96.45),(2,'

Joan'

82.99),(2,'

Wang'

96.59);

5、查询表中的数据

1)、查询所有行

select<

字段1,字段2,...>

from<

表名>

where<

表达式>

查看表MyClass中所有数据

select*fromMyClass;

2)、查询前几行数据

查看表MyClass中前2行数据

select*fromMyClassorderbyidlimit0,2;

6、删除表中数据

deletefrom表名where表达式

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

deletefromMyClasswhereid=1;

7、修改表中数据:

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

updateMyClasssetname='

Mary'

whereid=1;

7、在表中增加字段:

altertable表名add字段类型其他;

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

altertableMyClassaddpasstestint(4)default'

8、更改表名:

renametable原表名to新表名;

在表MyClass名字更改为YouClass

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-pcreatauction,会提示输入密码,然后成功创建。

  

(2)导入auction.sql文件

  c:

mysql-uroot-pauction<

auction.sql。

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

  6.修改数据库

  

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

  altertabledbnameaddcolumnuseridint(11)notnullprimarykeyauto_increment;

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

  7.mysql数据库的授权

  mysql>

grantselect,insert,delete,create,drop

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

  to用户名@localhost

  identifiedby'

密码'

  如:

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

grantusage

  ->

ONtest.*

TOtestuser@localhost;

  QueryOK,0rowsaffected(0.15sec)

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

testuser,这个用户只能从localhost连接到数据库并可以连接到test数据库。

下一步,我们必须指定testuser这个用户可以执行哪些操作:

GRANTselect,insert,delete,update

  QueryOK,0rowsaffected(0.00sec)

  此操作使testuser能够在每一个test数据库中的表执行SELECT,INSERT和DELETE以及UPDATE查询操作。

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

exit

——————————————————————————————————————————

启动:

netstartmySql;

  进入:

mysql-uroot-p/mysql-hlocalhost-uroot-pdatabaseName;

  列出数据库:

showdatabases;

  选择数据库:

usedatabaseName;

  列出表格:

showtables;

  显示表格列的属性:

showcolumnsfromtableName;

  建立数据库:

sourcefileName.txt;

  匹配字符:

可以用通配符_代表任何一个字符,%代表任何字符串;

  增加一个字段:

altertabletabelNameaddcolumnfieldNamedateType;

  增加多个字段:

altertabletabelNameaddcolumnfieldName1dateType,addcolumnsfieldName2dateType;

  多行命令输入:

注意不能将单词断开;

当插入或更改数据时,不能将字段的字符串展开到多行里,否则硬回车将被储存到数据中;

  增加一个管理员帐户:

grantallon*.*touser@localhostidentifiedby"

password"

;

  每条语句输入完毕后要在末尾填加分号'

,或者填加'

\g'

也可以;

  查询时间:

selectnow();

  查询当前用户:

selectuser();

  查询数据库版本:

selectversion();

  查询当前使用的数据库:

selectdatabase();

  

  1、删除student_course数据库中的students数据表:

  rm-fstudent_course/students.*  

  2、备份数据库:

(将数据库test备份)

  mysqldump-uroot-ptest>

c:

\test.txt

  备份表格:

(备份test数据库下的mytable表格)

  mysqldump-uroot-ptestmytable>

  将备份数据导入到数据库:

(导回test数据库)

  mysql-uroot-ptest<

  3、创建临时表:

(建立临时表zengchao)

  createtemporarytablezengchao(namevarchar(10));

  4、创建表是先判断表是否存在

  createtableifnotexistsstudents(……);

  5、从已经有的表中复制表的结构

  createtabletable2select*fromtable1where1<

1;

  6、复制表

  createtabletable2select*fromtable1;

  7、对表重新命名

  altertabletable1renameastable2;

  8、修改列的类型

  altertabletable1modifyidintunsigned;

//修改列id的类型为intunsigned

  altertabletable1changeidsidintunsigned;

//修改列id的名字为sid,而且把属性修改为intunsigned

  9、创建索引

  altertabletable1addindexind_id(id);

  createindexind_idontable1(id);

  createuniqueindexind_idontable1(id);

//建立唯一性索引  

  10、删除索引

  dropindexidx_idontable1;

  altertabletable1dropindexind_id;

  11、联合字符或者多个列(将列id与"

:

和列name和"

="

连接)

  selectconcat(id,'

name,'

='

)fromstudents;

  12、limit(选出10到20条)<

第一个记录集的编号是0>

  select*fromstudentsorderbyidlimit9,10;

  13、MySQL不支持的功能

  事务,视图,外键和引用完整性,存储过程和触发器

  14、MySQL会使用索引的操作符号

  <

<

=,>

=,between,in,不带%或者_开头的like  

  15、使用索引的缺点

  1)减慢增删改数据的速度;

  2)占用磁盘空间;

  3)增加查询优化器的负担;

  当查询优化器生成执行计划时,会考虑索引,太多的索引会给查询优化器增加工作量,导致无法选择最优的查询方案;

  16、分析索引效率

  方法:

在一般的SQL语句前加上explain;

  分析结果的含义:

  1)table:

表名;

  2)type:

连接的类型,(ALL/Range/Ref)。

其中ref是最理想的;

  3)possible_keys:

查询可以利用的索引名;

  4)key:

实际使用的索引;

  5)key_len:

索引中被使用部分的长度(字节);

  6)ref:

显示列名字或者"

const"

(不明白什么意思);

  7)rows:

显示MySQL认为在找到正确结果之前必须扫描的行数;

  8)extra:

MySQL的建议;

  17、使用较短的定长列

  1)尽可能使用较短的数据类型;

  2)尽可能使用定长数据类型;

  a)用char代替varchar,固定长度的数据处理比变长的快些;

  b)对于频繁修改的表,磁盘容易形成碎片,从而影响数据库的整体性能;

  c)万一出现数据表崩溃,使用固定长度数据行的表更容易重新构造。

使用固定长度的数据行,每个记录的开始位置都是固定记录长度的倍数,可以很容易被检测到,但是使用可变长度的数据行就不一定了;

  d)对于MyISAM类型的数据表,虽然转换成固定长度的数据列可以提高性能,但是占据的空间也大;

  18、使用notnull和enum

  尽量将列定义为notnull,这样可使数据的出来更快,所需的空间更少,而且在查询时,MySQL不需要检查是否存在特例,即null值,从而优化查询;

  如果一列只含有有限数目的特定值,如性别,是否有效或者入学年份等,在这种情况下应该考虑将其转换为enum列的值,MySQL处理的更快,因为所有的enum值在系统内都是以标识数值来表示的;

  19、使用optimizetable

  对于经常修改的表,容易产生碎片,使在查询数据库时必须读取更多的磁盘块,降低查询性能。

具有可变长的表都存在磁盘碎片问题,这个问题对blob数据类型更为突出,因为其尺寸变化非常大。

可以通过使用optimizetable来整理碎片,保证数据库性能不下降,优化那些受碎片影响的数据表。

optimizetable可以用于MyISAM和BDB类型的数据表。

实际上任何碎片整理方法都是用mysqldump来转存数据表,然后使用转存后的文件并重新建数据表;

  20、使用procedureanalyse()

  可以使用procedureanalyse()显示最佳类型的建议,使用很简单,在select语句后面加上procedureanalyse()就可以了;

  select*fromstudentsprocedureanalyse();

  select*fromstudentsprocedureanalyse(16,256);

  第二条语句要求procedureanalyse()不要建议含有多于16个值,或者含有多于256字节的enum类型,如果没有限制,输出可能会很长;

  21、使用查询缓存

  1)查询缓存的工作方式:

  第一次执行某条select语句时,服务器记住该查询的文本内容和查询结果,存储在缓存中,下次碰到这个语句时,直接从缓存中返回结果;

当更新数据表后,该数据表的任何缓存查询都变成无效的,并且会被丢弃。

  2)配置缓存参数:

  变量:

query_cache_type,查询缓存的操作模式。

有3中模式,0:

不缓存;

1:

缓存查询,除非与selectsql_no_cache开头;

2:

根据需要只缓存那些以selectsql_cache开头的查询;

query_cache_size:

设置查询缓存的最大结果集的大小,比这个值大的不会被缓存。

  22、调整硬件

  1)在机器上装更多的内存;

  2)增加更快的硬盘以减少I/O等待时间;

  寻道时间是决定性能的主要因素,逐字地移动磁头是最慢的,一旦磁头定位,从磁道读则很快;

  3)在不同的物理硬盘设备上重新分配磁盘活动;

  如果可能,应将最繁忙的数据库存放在不同的物理设备上,这跟使用同一物理设备的不同分区是不同的,因为它们将争用相同的物理资源(磁头)。

————————————————————————————————————————————

1.连接数据库

格式:

mysql[-hhost_name][-uuser_name][-ppassword]

参数说明:

[-hhost_name]:

数据库主机的地址(主机名或ip地址),默认localhost.

[-uuser_name]:

登录unix/linux的用户名,当指定一个不存在的用户名时,mysql视其为guest用户,使用guest用户不需要口令.

[-ppassword]:

mysql用户登录的密码,系统初始root密码为空.

注意:

mysql的user和linux下的user相互独立,互不影响,一般linux用户最多8个字符,mysql最多16个。

同时,mysql有自己的口令加密系统。

2.修改密码:

⑴mysql>

usemysql;

mysql>

updateusersetpassword=password('

new_password'

)whereuser='

用户名'

flushprivileges;

使用flushprivileges命令使密码生效。

⑵mysql>

setpassword[foruser]=password('

[foruser]为空,默认更改当前用户的密码;

3.删除匿名用户

deletefromuserwhereuser='

4.增加一个用户

usedatabase_name;

grantallprivielegesondatabase_name.*touser_name@localhostidentifiedby'

说明:

创建用户名,同时赋予该用户名可以访问database_name数据库中说有表。

使用grant为一个不存在的用户授予某些权限时,mysql会首先自动创建给用户。

5.创建用户

insertintousersethost='

localhost'

user='

reloadpriv='

y'

process_priv='

6.给用户分配最小权限

grantselecton数据库名.表名to用户名

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2