Mysql常用必备命令

小柒博客 MySQL1 73.3K6字数 4544阅读15分8秒阅读模式

这篇文章主要介绍了Mysql的常用命令集锦,堪称初学者需要掌握的Mysql命令大全,其中系统命令行环境是基于类Unix系统来作例子的,需要的朋友可以参考下

Mysql常用命令(必备)

1)导出test_db数据库

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

mysqldump -u root -p test_db > test_db.sql

1.1)导出所有数据库

mysqldump -u root -p –all-databases > mysql_all.sql

2)导出一个表

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

mysqldump -u root -p test_db test1 > test_test1.sql

3)导出一个数据库结构

mysqldump -u root -p -d --add-drop-table test_db > test.sql

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

4)导入数据库

①常用source命令

进入mysql数据库控制台,

如mysql -u root -p

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

mysql>source wcnc_db.sql

②使用mysqldump命令

mysqldump -u username -p dbname < filename.sql

③使用mysql命令

mysql -u username -p -D dbname < filename.sql

5)mysql进入与退出

进入:

mysql -uroot -p     //进入mysql控制台

mysql -uroot -p password     //进入mysql控制台

mysql -p                //进入mysql控制台

退出:

quit或exit

6)数据库操作

1、创建数据库

命令:create database <数据库名>

例如:建立一个名为test_db的数据库

mysql> create database test_db;

2、显示所有的数据库

命令:show databases (注意:最后有个s)

mysql> show databases;

3、删除数据库

命令:drop database <数据库名>

例如:删除名为 test_db的数据库

mysql> drop database test_db;

4、连接数据库

命令: use <数据库名>

例如:进入test_db数据库

mysql> use test_db;

屏幕提示:Database changed

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

mysql> select database();

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

mysql> show tables; (注意:最后有个s)

7、查看数据库字符集

mysql> show variables like '%char%';

7)表操作,操作之前应连接某个数据库

1、建表

命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);

例如:创建名为test01表,并创建两个字段,id、name、数据长度(用字符来定义长度单位)

mysql> create table test01 (id varchar(20),name varchar(20));

2、查看表结构

命令:desc 表名,或者show columns from 表名

例如:查看test表结构

mysql> desc test;

mysql> show columns from test;

mysql> describe test;

mysql> show create table test;

3、删除表

命令:drop table <表名>

例如:删除表名为test_db的表

mysql> drop table test_db;

4、插入数据

命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]

例如:往表test中插入二条记录, 这二条记录表示:编号为001,名字为yangxz

mysql> insert into test values ("001″,"yangxz");

5、查询表中的数据

1)查询所有行

命令: select <字段1,字段2,…> from < 表名 > where < 表达式 >

例如:查看表test中所有内容(数据)

mysql> select * from test;

例如:查找test表中id=001内容

mysql > select * from test where id=001;

例如:查找test表中已id为0开头的内容

mysql > select * from test where id like "0%";

2)查询前几行数据

例如:查看表test中前2行数据

mysql> select * from test order by id limit 0,2;

或者:

mysql> select * from test limit 0,2;

6、删除表中数据

命令:delete from 表名 where 表达式

例如:删除表test中编号为001的记录

mysql> delete from test where id=001;

7、修改表中数据

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

例如: 修改test表中name字段的内容

mysql> update test set name='admin' where id=002;

例如:修改test表中name字段的长度

mysql> alter table test modify column name varchar(30);

8、在表中增加字段

命令:alter table 表名 add字段 类型 其他;

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

mysql> alter table test add passtest int(4) default '0';

9、更改表名:

命令:rename table 原表名 to 新表名;

例如:在表test名字更改为test1

mysql> rename table test to test1;

8)修改密码

mysqladmin -uroot -p旧密码 password 新密码

mysql> use mysql;

mysql> update mysql.user set password='新密码' where user='用户名';

mysql> flush privileges;

mysql> set password for 用户名@localhost=password('你的密码');

mysql> flush privileges;

9)增加用户

例如:增加一个test用户,密码为1234

mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));

mysql> flush privileges;

10)删除用户

例如:删除test用户

mysql> delete from user where user='test' and host='localhost';

mysql> flush privileges;

11)数据库授权

命令:grant 权限 on 数据库名.* to 用户名@localhost identified by '密码';

例如:授权test用户拥有test_db库的所有权限

grant all on test_db.* to test@localhost identified by '123456';

例如:授权test用户拥有test_db库的select,update权限

grant select,update on test_db.* to test@localhost;

12)锁表

mysql> flush tables with read lock;

解锁:

mysql> unlock tables;

13)查看当前用户

mysql > select user();

14)Mysql密码破解方法

先停止Mysql服务,以跳过权限方式启动,命令如下:

service mysqld stop

/usr/local/mysql/bin/mysqld_safe –user=mysql –skip-grant-tables &

在shell终端输入mysql并按Enter键,进入mysql命令行

由于Mysql用户及密码认证信息存放在mysql库中的user表,需进入mysql库

mysql> use mysql;

mysql> update user set password=password('123456') where user='root';

mysql> flush privileges;

Mysql root密码修改完,需停止以Mysql跳过权限表的启动进程,再以正常方式启动Mysql,再次以新的密码登陆即可进入Mysql数据库

15)查看Mysql提供存储引擎

mysql > show engines;

查看mysql默认存储引擎

mysql> show variables like '%storage_engine%';

查看mysql系统版本

mysql> select version();

查看mysql库里所有表

mysql>show tables from mysql;

查看Mysql端口

mysql>show variables like 'port';

查看mysql库user表中user,host信息

mysql> select user,host from mysql.user; 

16)查看Mysql数据库服务器和数据库字符集

mysql > show variables like '%character%';

mysql > show variables like 'collation%';

17)查看Mysql所支持的字符集

mysql > show charset;

18)查看Mysql数据库的字符集

mysql > show create database mysql;

19)查看Mysql数据库表的字符集

mysql > show create table 表名\G

20)查看Mysql数据库表字段编码

mysql > show full columns from 表名;

21)修改数据库字符集

mysql > alter database 数据库名称 default character set 编码;

22)修改数据库表字符集

mysql > alter table 数据库表名称 default character set 编码;

23)修改数据库表字段的字符集

mysql > alter table 表名 modify 字段名 字段属性 character set 编码;

24)修改数据库表和字段的字符集

mysql > alter table 表名 convert to character set utf8 collate 编码; 

MySQL字符集设置

系统变量:

– character_set_server:默认的内部操作字符集

– character_set_client:客户端来源数据使用的字符集

– character_set_connection:连接层字符集

– character_set_results:查询结果字符集

– character_set_database:当前选中数据库的默认字符集

– character_set_system:系统元数据(字段名等)字符集

– 还有以collation_开头的同上面对应的变量,用来描述字符序。

若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如本文“对您有用”,欢迎随意打赏,谢谢!

继续阅读
Wechat
微信扫一扫,加我!
weinxin
微信公众号
微信扫一扫,关注我!
weinxin
MySQL最后更新:2024-1-24
小柒博客
  • 本文由 小柒博客 发表于 2017年12月14日08:40:43
  • 声明:本站所有文章,如无特殊说明或标注,本站文章均为原创。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。转载请务必保留本文链接:https://www.yangxingzhen.com/353.html
    • 运维老司机
      运维老司机 6

      亲测,写的不错,感谢博主 :razz:

    匿名

    发表评论

    匿名网友
    :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

    拖动滑块以完成验证