MySql命令

2016-09-16 18:17:45

1.连接Mysql

mysql -h主机地址 -u用户名 -p用户密码

-h -u -p和参数中间的空格可以省略,连接到本机省略-h 无密码省略-p

2.修改密码

mysqladmin -u 用户名 -p 原密码 password 新密码

root用户初始密码为空 可以省略-p参数

3.增加新用户

grant select,insert,update,delete,create,drop,alter on mydb.* to [email=xxx@localhost]xxx@localhost[/email] identified by "mypasswd";

4.创建数据库

create database mydb;

5.显示数据库、表、字段

show databases; 
show tables;
desc mytab;

6.删除数据库

drop database mydb;
drop database if exists mydb;

7.设置默认数据库

use mydb

8.建表

create table mytab(col1 int(4) not null primary key auto_increment,col2 varchar(200) not null default 'xxx');

create table mytab(col1 int(4) not null primary key auto_increment,col2 varchar(200) not null default 'xxx') ENGINE = MyISAM DEFAULT CHARSET UTF8;

create table mytab(col1 int(4) not null primary key auto_increment,col2 varchar(200) null comment '字段备注') comment = '表备注';

9.删表

drop table mytab;

10.修改表名

rename table mytab to mynewtab;

11.加字段

alter table mytab add colnew int(4);

alert table mytab add colnew int(4) comment '备注';

12.删字段

alter table mytab drop mycol;

13.改字段

alert table mytab change col1 col1new varchar(100) comment '备注';

14.加索引

alter table mytab add index myindex(mycol);
alter table mytab add primary key(mycol);
alter table mytab add unique myindex(mycol);

15.删索引

alter table mytab drop index myindex;

16.备份数据库

mysqldump -u 用户名 -p 密码 mydb > bak.sql

导出整个数据库

mysqldump -u 用户名 -p 密码 mydb mytab > bak.sql

导出一个表

mysqldump -u 用户名 -p 密码 -d -add-drop-table mydb > bak.sql

导出数据库结构 -d 没有数据 -add-drop-table 在每个create前加入drop table

17.查看表的详情

show create table mytab;
show full columns from mytab; 

18.修改编码

alter database mydb character set utf8; 
alter table mytab character set utf8; 
alter table mytab modify colname varchar(50) CHARACTER SET utf8; 

19.备份压缩还原

mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

20.执行sql文件

直接脚本执行

mysql -hhostname -uusername -ppassword -Ddbname>/tmp/my.sql

进入mysql控制台执行

source /tmp/my.sql

21.获取guid

select uuid();

22.备份数据到新表

create table newtable(select * from oldtable);