51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Mysql常用必备命令

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

Mysql常用命令(必备)

{#6665-1507857791769}1)导出test_db数据库

{#1364-1507857840936}命令:mysqldump -u 用户名 -p 数据库名 > 导出的文件名

{#4284-1507857840936}mysqldump -u root -p test_db > test_db.sql

{#6066-1507862886455}1.1)导出所有数据库

{#3076-1507862903986}mysqldump -u root -p --all-databases > mysql_all.sql

{#3649-1507857840936}2)导出一个表

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

{#1833-1507857840936}mysqldump -u root -p test_db test1 > test_test1.sql

{#4490-1507857840936}3)导出一个数据库结构

{#6581-1507857840936}mysqldump -u root -p -d --add-drop-table test_db > test.sql

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

{#9757-1507857840936}4)导入数据库

{#1558-1507857840936}①常用source命令

{#2661-1507857840936}进入mysql数据库控制台,

{#8646-1507857840936}如mysql -u root -p

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

{#1714-1507857840936}mysql>source wcnc_db.sql

{#2078-1507857840936}②使用mysqldump命令

{#5370-1507857840936}mysqldump -u username -p dbname < filename.sql

{#6653-1507857840936}③使用mysql命令

{#4237-1507857840936}mysql -u username -p -D dbname < filename.sql

{#8585-1507857943460}5)mysql进入与退出

{#2313-1507857970397}进入:

{#9319-1507857985216}mysql -uroot -p //进入mysql控制台

{#8386-1507857973082}mysql -uroot -p password //进入mysql控制台

{#4061-1507857977024}mysql -p //进入mysql控制台

{#4638-1507857979142}退出:

{#9032-1507857998412}quit或exit

{#7129-1507858006531}6)数据库操作

{#1598-1507858279413}1、创建数据库

{#6385-1507858280182}命令:create database <数据库名>

{#1160-1507858280182}例如:建立一个名为test_db的数据库

{#2154-1507858280182}mysql> create database test_db;

{#4780-1507858280182}2、显示所有的数据库

{#2865-1507858280182}命令:show databases (注意:最后有个s)

{#2030-1507858280182}mysql> show databases;

{#8533-1507858280182}3、删除数据库

{#2445-1507858280182}命令:drop database <数据库名>

{#2900-1507858280182}例如:删除名为 test_db的数据库

{#1057-1507858280182}mysql> drop database test_db;

{#6450-1507858280182}4、连接数据库

{#3321-1507858280182}命令: use <数据库名>

{#5915-1507858280182}例如:进入test_db数据库

{#9319-1507858280182}mysql> use test_db;

{#4362-1507858280182}屏幕提示:Database changed

{#9759-1507858280182}5、查看当前使用的数据库

{#5290-1507858280182}mysql> select database();

{#1715-1507859333453}6、当前数据库包含的表信息

{#6087-1507811838143}mysql> show tables; (注意:最后有个s)

{#5090-1508241779653}7、查看数据库字符集

{#4892-1508241794626}mysql> show variables like '%char%';

{#9654-1507859367300}7)表操作,操作之前应连接某个数据库

{#2747-1507859489867}1、建表

{#7915-1507859495966}命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);

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

{#4041-1507856433378}mysql> create table test01 (id varchar(20),name varchar(20));

{#6742-1507856501178}2、查看表结构

{#7595-1507859900957}命令:desc 表名,或者show columns from 表名

{#3911-1507859819352}例如:查看test表结构

{#6920-1507859845536}mysql> desc test;

{#6992-1507859855041}mysql> show columns from test;

{#1763-1507859862089}mysql> describe test;

{#2269-1508334519953}mysql> show create table test;

{#4462-1507859868928}3、删除表

{#3617-1507859942881}命令:drop table <表名>

{#7431-1507859942881}例如:删除表名为test_db的表

{#4030-1507859942881}mysql> drop table test_db;

{#4289-1507859965768}4、插入数据

{#8334-1507859983690}命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]

{#5799-1507859985144}例如:往表test中插入二条记录, 这二条记录表示:编号为001,名字为yangxz

{#1050-1507859693957}mysql> insert into test values ("001″,"yangxz");

{#7920-1507860487276}5、查询表中的数据

{#6169-1507860550841}1)查询所有行

{#8743-1507860654326}命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >

{#2182-1507860677442}例如:查看表test中所有内容(数据)

{#5043-1507860677442}mysql> select * from test;

{#5095-1507885435040}例如:查找test表中id=001内容

{#6477-1507885475623}mysql > select * from test where id=001;

{#1173-1507885519805}例如:查找test表中已id为0开头的内容

{#8522-1507885526925}mysql > select * from test where id like "0%";

{#1875-1507856501178}2)查询前几行数据

{#8423-1507860933845}例如:查看表test中前2行数据

{#4590-1507860933845}mysql> select * from test order by id limit 0,2;

{#2027-1507860933845}或者:

{#3627-1507860933845}mysql> select * from test limit 0,2;

{#2553-1507860998895}6、删除表中数据

{#8846-1507861039485}命令:delete from 表名 where 表达式

{#8541-1507861039485}例如:删除表test中编号为001的记录

{#4815-1507861039485}mysql> delete from test where id=001;

{#8081-1507861367727}7、修改表中数据

{#4650-1507861376893}命令:update 表名 set 字段=新值,... where 条件

{#4515-1507856501178}例如: 修改test表中name字段的内容

{#1359-1507861391147}mysql> update test set name='admin' where id=002;

{#7778-1507862595084}例如:修改test表中name字段的长度

{#2482-1507862579950}mysql> alter table test modify column name varchar(30);

{#6571-1507856501178}8、在表中增加字段

{#2654-1507861585969}命令:alter table 表名 add字段 类型 其他;

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

{#8723-1507861585969}mysql> alter table test add passtest int(4) default '0';

{#8049-1507861701708}9、更改表名:

{#2168-1507861779152}命令:rename table 原表名 to 新表名;

{#6710-1507861779152}例如:在表test名字更改为test1

{#8490-1507861779152}mysql> rename table test to test1;

{#5550-1507861563373}8)修改密码

{#2760-1507878254775}mysqladmin -uroot -p旧密码 password 新密码

{#8797-1508468083638}mysql> use mysql;

{#6115-1507878321561}mysql> update mysql.user set password='新密码' where user='用户名';

{#7345-1507884676208}mysql> flush privileges;

{#9760-1507880754953}mysql> set password for 用户名@localhost=password('你的密码');

{#4697-1507884680645}mysql> flush privileges;

{#9261-1507879544954}9)增加用户

{#4289-1507879955583}例如:增加一个test用户,密码为1234

{#1620-1507882634769}mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));

{#7876-1507882619213}mysql> flush privileges;

{#3890-1507879948314}10)删除用户

{#1410-1507880369748}例如:删除test用户

{#2434-1507879958038}mysql> delete from user where user='test' and host='localhost';

{#2676-1507883052181}mysql> flush privileges;

{#2894-1507879928563}11)数据库授权

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

{#2156-1507856501178}例如:授权test用户拥有test_db库的所有权限

{#5190-1507881253242}grant all on test_db.* to test@localhost identified by '123456';

{#8747-1507881279283}例如:授权test用户拥有test_db库的select,update权限

{#3346-1507881334254}grant select,update on test_db.* to test@localhost;

{#1114-1507884806902}12)锁表

{#1541-1507885735482}mysql> flush tables with read lock;

{#8256-1507885798451}解锁:

{#8899-1507885804136}mysql> unlock tables;

{#7846-1508240895099}13)查看当前用户

{#7025-1508240908791}mysql > select user();

{#4169-1508468239664}14)Mysql密码破解方法

{#8922-1508468263911}先停止Mysql服务,以跳过权限方式启动,命令如下:

{#6931-1508468250947}service mysqld stop

{#6121-1508468294395}/usr/local/mysql/bin/mysqld_safe --user=mysql --skip-grant-tables &

{#6668-1508468336347}在shell终端输入mysql并按Enter键,进入mysql命令行

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

{#3862-1508468380972}mysql> use mysql;

{#5930-1508468396266}mysql> update user set password=password('123456') where user='root';

{#4847-1508468476062}mysql> flush privileges;

{#8517-1508468483984}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_开头的同上面对应的变量,用来描述字符序。

继续阅读

历史上的今天

12 月
14

赞(0)
未经允许不得转载:工具盒子 » Mysql常用必备命令