MySQL 如何导入导出操作

1、MySQL 如何导入导出个别需要数据记录?

– 先导出数据所在的表结构:
mysql> show create table CHARBASE into outfile “/db/mysql/RS.sql” ;

– 将需要单独导出的内容存放在文本文件里,这里一定要注意存放的位置必须是mysql用户有权限的位置:
mysql> select * from CHARBASE order by CHARID desc limit 15 into outfile “/db/mysql/record.sql” ;
– (注意 into outfile 只能用于 select 语句)

– 创建同样的表结构:
mysql> create database test;
mysql> source RS.sql;

– 将文件数据导入新的数据库:
mysql> LOAD DATA INFILE ‘/db/mysql/record.sql’ INTO TABLE CHARBASE;

2、如何导入导出一个表的内容?

– 可以select整个表的内容,用load导入!
– mysqldump
– mysqldump -h127.0.0.1 -uroot -p DBNAME TableName > table.sql

3、如何备份还原整个数据库?

– 备份还原整个MySQL数据库其实是最最简单的一件事情,通常我们不需要任何工具,而是把整个目录拷贝出来即可!(注意,如果是迁移服务器最好把mysql数据库也一起拷贝过去。)
– 在拷贝完毕之后我们只要将权限做一简单设置即可:
– chown mysql.mysql /db -R
– mysql.server restart
– 也可以用 mysqldump 来备份整个数据库.
– mysqldump -h127.0.0.1 -uroot -p DBNAME > table.sql

4、如何用mysql命令来备份mysql数据库?

– 如果是比较小的mysql数据库,当然也可以将整个数据库备份成一个标准的SQL脚本文件,然后还原.
– mysqldump -h127.0.0.1 -uroot -p test > /db/mysql/test.sql;
– create database test02;
– use test02;
– source /db/mysql/test.sql;

5、如何导出一个数据库结构,但不导出任何数据?
– mysqldump -h127.0.0.1 -uroot -p -d RecordServer > /db/mysql/RecordServer.sql;

6、如何查看数据库、表、表结构、建表、建库SQL脚本?

mysql> show databases;
mysql> show tables;
mysql> desc CHARBASE;
mysql> show create table CHARBASE;
– mysqldump -h127.0.0.1 -uroot -p -d RecordServer > /db/mysql/RecordServer.sql;

7、MySQL里边存放时间和存放IP地址的字段通常都是转换过的写法,请问如何查看他们本来的格式?

mysql> select CHARID,CREATEIP,CREATETIME,MAC,INET_NTOA(CREATEIP) AS IP,FROM_UNIXTIME(CREATETIME) AS TIME FROM CREATEIP WHERE CHARID=13566952;
+———-+————+————+—————–+—————-+———————+
| CHARID | CREATEIP | CREATETIME | MAC | IP | TIME |
+———-+————+————+—————–+—————-+———————+
| 13566952 | 2329037786 | 1208804488 | 176940240538368 | 138.210.75.218 | 2008-04-22 03:01:28 |
+———-+————+————+—————–+—————-+———————+
[注意]:这里得出的IP地址是不对的,正确的应该是反向的,比如上边正确的应该是 218.75.210.138 .

8、请举例说明如何在一个表中插入,修改或删除一个字段?

– 在某个字段后插入:
mysql> ALTER TABLE `RELATION` ADD `COUNTRYWARKILL` int(10) unsigned NOT NULL default ’0′ after `ZEROCLEAR`;

– 在最后一个字段后面插入:
mysql> ALTER TABLE `RELATION` ADD `COUNTRYWARKILL` int(10) unsigned NOT NULL default ’0′;

– 删除一个字段:
mysql> alter table CHARBASE drop ZONE; 或:
mysql> alter table CHARBASE drop COLUMN ZONE;

– 重命名字段:
mysql> alter table CHARBASE change ZONE ZONE01 integer not null default ’0′;

– 如何重命名表
mysql> ALTER TABLE CHARBASE RENAME CHARNAME;

9、Linux 终端不支持在 MySQL 命令模式下写中文,如何解决?

– 直接在命令中执行:
mysql -e “use RecordServer;select CHARBASE.NAME,RELATION.COUNTRYWARKILL FROM CHARBASE,RELATION WHERE CHARBASE.COUNTRY=4 AND CHARBASE.NAME LIKE ‘豪MeN%’”

– 将 update 的更新中文名字的语句写入到文本文件,用source来执行:
mysql> source /db/mysql/test.sql;

– 写成shell脚本执行:
#/bin/bash
mysql -e “use RecordServer;UPDATE RELATION SET NAME=’最不厉害2′ WHERE CHARID=15292694;UPDATE RELATION SET NAME=’旺角口水文2′ WHERE CHARID=14771293;”

– 直接执行:
mysql -umysql -p123456 -h192.168.1.50 RecordServer -e “INSERT INTO CHARBASE (ACCID,NAME) VALUES(85164210,’Droney.zhao’);”

10、如何对表进行插入,修改,删除的操作?

– 对表格的插入操作:
mysql> INSERT INTO CHARBASE (ACCID,NAME) VALUES(85164210,’Droney’);

– 清空这个表:
mysql> delete from COUNTRY;

– 删除表中的某些记录:
mysql> DELETE FROM COUNTRY WHERE ID NOT IN(2,3,4,5,6);
mysql> DELETE FROM COUNTRY WHERE NAME = ‘Droney’;
mysql> DELETE FROM COUNTRY WHERE NAME like ‘%三秦浪子%’;

– 更新表中的某些记录:
mysql> UPDATE COUNTRY SET EXP=500 WHERE ID IN(2,3,4,5,6);

11、如何重命名表?
mysql> ALTER TABLE CHARBASE RENAME CHARNAME;

12、怎么查询字段值为1的记录中相同用户的个数,只将拥有这样的记录的个数 >9 的字段显示出来?
SELECT CHARID,COUNT(*) FROM FRIEND WHERE WHICH=1 GROUP BY CHARID HAVING COUNT(WHICH)>9;

13、如何修改mysql用户密码?
mysql> use mysql;
mysql> update user set password=password(’123456′) where user=’mysql’;
mysql> FLUSH PRIVILEGES;
或者:
mysqladmin -h192.168.1.1 -uusername -poldpassword password newpassword

– 如何添加、删除一个MySQL用户?
– 可以用以下方法添加,建议还是用上边设置权限的方式去添加新的用户.
mysql> INSERT INTO `user` VALUES (’192.168.76.250′, ‘Droney’, PASSWORD( ’123456′ ) , ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ”, ”, ”, ”, ’0′, ’0′, ’0′);
mysql> FLUSH PRIVILEGES;

14、mysql用户密码忘记或者IP限制登录怎么办?

– 需要重新初始化数据库.
su – dbadmin -c “/usr/local/mysql/bin/mysql_db_install”

mv /db/mysql/mysql /db/mysql/mysql_bak && /usr/local/mysql/bin/mysql_db_install

chown mysql.mysql /db/ -R && mysql.server restart

15、如何查看mysql数据库编码?
mysql> show variables like ‘character_set_%’;

16、如何建立一个表,并插入一条记录?
mysql> CREATE TABLE `SERVERLIST` (
`ID` int(10) unsigned NOT NULL auto_increment,
`NAME` varchar(32) NOT NULL default ”,
PRIMARY KEY (`ID`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

mysql> INSERT INTO `SERVERLIST` VALUES (1,’Droney’);

17、如何为MySQL设置访问权限?

– 下面设置了只允许 192.168.1.0 网段连接,且添加dbadmin用户,密码123456,并删除所有密码为空的mysql用户.
mysql> GRANT ALL PRIVILEGES ON *.* TO dbadmin@’192.168.1.%’ IDENTIFIED BY ’123456′ WITH GRANT OPTION;
mysql> delete from mysql.user where password=”";
mysql> flush privileges;

– 其他设置示范:
mysql> grant all on *.* to dbadmin@localhost identified by ‘password’;
mysql> grant all on dbname.* to dbadmin@% identified by ‘password’;
mysql> grant select,insert on dbname.tablename to dbadmin@192.168.1.% identified by ‘password’;

18、如何添加、删除一个MySQL用户?

– 可以用以下方法添加,建议还是用上边设置权限的方式去添加新的用户.
mysql> INSERT INTO `user` VALUES (’192.168.76.250′, ‘Droney’, PASSWORD( ’123456′ ) , ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ‘Y’, ”, ”, ”, ”, ’0′, ’0′, ’0′);
mysql> FLUSH PRIVILEGES;

19、如果用mysqldump导出的数据出现了乱码怎么办?
iconv -c -f UTF-8 -t GB2312 库文件名 > 新的库文件名

20、忘记了mysql 密码,我不想重新初始mysql数据库,我该怎么办?

– 杀掉原来mysql进程,用如下命令来启动mysql,这样mysql就可以不需要密码,也没有IP限制的轻松登陆了!
mysql> /usr/local/mysql/bin/mysqld_safe –skip-grant-tables &

21、如何查看mysql建立的线程:
mysql> show processlist;

22、其它常用语句:

mysql> status 可以查看mysql的状态信息

mysql> tee history.txt 以后在mysql中操作的所有指令将被存储在history.txt文件中;

mysql> notee; 取消将指令存入文件的操作;

mysql> system clear; 可以在mysql shell下临时调用系统命令对系统文件进行操作;

– 备份整个数据库(用cp要简单快捷一些)
mysqldump -h192.168.1.1 -uroot -p SuperServer > /SuperServer.sql;

– 导出整个数据库结构
mysqldump -h192.168.1.1 -uroot -p -d SuperServer > /SuperServer.sql;

– 导出表结构
mysql> show create table CHARBASE;

– 导出表结构及内容
mysqldump -h192.168.1.1 -uroot -p -d SuperServer CHARBASE > /SuperServer.sql;

– 导出建表结构的脚本
mysql> show create table CHARBASE;

– 将查询的结果直接保存到文件
mysql> select * from mysql.user into outfile ‘aaa.sql’;

23 修改表结构:

– 创建字段 NAME51 ,将该字段的位置移至 DSTZONE 之后
SQL> ALTER TABLE `CHARBASE` add `NAME51` varchar(33) NOT NULL default ”;
SQL> ALTER TABLE `CHARBASE` change `NAME51` `NAME51` varchar(33) NOT NULL default ” AFTER `DSTZONE`;

24 创建索引:

create index ID on TEMP(CHARID);

25 高级查询:

CREATE TABLE `C` (
`ID` varchar(100) NOT NULL default ”,
`NAME` varchar(100) NOT NULL default ”
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

update A,B set B.ID=A.ID where A.name=B.name;

insert into B(ID,NAME) select ID,NAME from A;

insert into B(ID,NAME,AGE) select ID,NAME,25 from A;

insert into C(NAME) VALUES (‘zhaohang’),(‘zhouzhou’),(‘xiaoxiao’);

26 设置自增字段的自增起始值:

Alter tableName auto_increment = 4000;

 

27USING BTREE

   USING BTREE
   导出脚本时开启兼容性 mysqldump –compatible=mysql40

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值