日期:2014-05-16  浏览次数:20859 次

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 的