mysql使用杂记

来源:互联网 发布:战舰世界洛阳数据 编辑:程序博客网 时间:2024/05/17 04:48

周末闲来无事,看了一看mysql的基础视频。突然发现自己虽然也是使用mysql四年有余,但还是有一些实用的东西不了解。记录下来,共享之!

一.一些使用的命令

1.\s这个命令可以显示当前的登录状态,简单明了。

显示了当前登录账户,当前使用的数据库,server的version,db的默认字符集等。

2.帮助“?”

在mysql命令行中,查找帮助的利器就是问号啦,要查询帮助文档有什么内容,可以用 ‘? contents’,结果如下图所示:

其中特别实用的,如functions,如data types,作为我来说,之前经常可能去google “mysql 数据类型”,现在你不需要离开命令行就可以高效的查询信息,比如需要查询mysql支持的数据类型,可以使用“? data types”,结果如下图:

所有的字段类型一目了然,当然你还可以继续深入的查询,例如我上周要存储大文本用了mediumText,但我不理解怎么用,同样可以求助于帮助文档“? mediumtext”,同样当你不会创建表的时候,你可以使用“? create table”,当你用alter修改表结构时,对于后面的modify和change参数记不清楚时,你可以使用“? alter table”,来查看帮助文档。所以“?”对与我们来讲绝对是一大利器啊。

二,msyql目录结构

mysql的安装目录有三部分需要注意,

1.my.ini配置文件

这个文件中有mysql的大部分配置,如端口,字符集等,并且my.ini的配置文件中的内容,在命令行下通过“show variables”命令,就可以全部查询出来。

2.bin目录

这个目录下存储了很多命令,mysql,mysqldump,mysqlimport等,这次二进制文件都是可以直接运行的。

3.data目录

这个目录中存储的都是mysql dbms中存储的数据,最笨的数据库备份办法就是,备份data目录。其中大多是按不同数据库分开存储的,一个表又分为三个文件,分别是,表结构,索引文件和数据。

三.mysql存储引擎相关

1.查看当前库中的mysql引擎类型

select concat(table_schema,'.',table_name) as table_name ,engine from information_schema.tables where table_schema='city';

2.修改所有表的引擎类型

通过mysql_convert_table_format工具。

./mysql_convert_table_format --host=$HOSTNAME --user=$USERNAME --password=$PASSWD --socket=$SOCKETPATH --type=$TBTYPE $DBNAME $TBNAME--verbose

四、debris

1.修改自增长字段的初始值

alter table users AUTO_INCREMENT=10000;

2.myql数据库拷贝(表结构 + 存储过程)

mysqldump -h192.168.138.183 -uiiscan -pnosec83  -d -R  --add-drop-table dbname | mysql test -u root -ppassword

只存储过程

 mysqldump -uroot -p -hlocalhost -P3306 -n -d -t -R DBName > procedure_name.sql

参数说明:
-n:   --no-create-db
-d:   --no-data
-t:   --no-create-info
-R:   --routines      Dump stored routines (functions and procedures)

3. 复制表结构及数据到新表    

CREATE TABLE new_table SELECT * FROM old_table
4. 只复制表结构到新表  
CREATE TABLE new_table SELECT * FROM old_table WHERE 1=2     

  注意:只要让WHERE条件不成立 

5.复制数据

mysqldump  -uroot --host=xxx --compact --extended-insert=false  -lnt youai_pc login_log | mysql -uroot youai_pc




原创粉丝点击