这篇文章主要介绍了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
- 2024CentOS 7.9搭建Postfix邮件服务器
- 2024SSH的三种代理方式 MySQL最后更新:2024-1-24