目录

常用 MySQL 语句

目录

备份:

1
2
3
4
5
6
7
mysqldump -u root -p dbname > dbname.sql

# 导出并压缩
mysqldump -u root -p --default-character-set=utf8 dbname | gzip > dbname.sql.gz

# 常用参数
--databases, -B 用于备份多个数据库,如果没有该选项,mysqldump 把第一个名字参数作为数据库名,后面的作为表名。使用该选项,mysqldump 把每个名字都当作为数据库名。

还原:

1
mysql -u root -p dbname < dbname.sql

数据库表对拷:

1
mysqldump --opt db_name | mysql --host=remote_host -C db_name

替换更新:

1
update `article` set content=replace(content,"target", "result")

插入更新:

1
2
3
4
向表 article 中插入两条记录,如果id不存在则相当于执行第二句
replace into article(id,content) values('1′,'target'),('2,'result');

insert into article(id,content) values('1′,'target'),('2,'result');

增加一个字段:

1
2
alter table user add COLUMN new1 VARCHAR(20) DEFAULT NULL; // 增加一个字段,默认为空
alter table user add COLUMN new2 VARCHAR(20) NOT NULL; // 增加一个字段,默认不能为空

删除一个字段:

1
alter table user DROP COLUMN new2;

修改一个字段:

1
2
alter table user MODIFY new1 VARCHAR(10);  // 修改一个字段的类型
alter table user CHANGE new1 new4 int;  // 修改一个字段的名称,此时一定要重新指定该字段的类型

修改数据库字符集:

1
2
3
4
5
6
# in my.ini

[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8