MySQL一些命令

1:使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;

2:2、创建一个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
drop database mydb;

3:选择你所创建的数据库
mysql> USE MYSQLDATA; //(按回车键出现Database changed 时说明操作成功!)

4:查看现在的数据库中存在什么表
mysql> SHOW TABLES;

5:创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

6:显示表的结构:
mysql> DESCRIBE MYTABLE;

7:往表中加入记录
mysql> insert into MYTABLE values (”hyq”,”M”);

8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;

9:导入.sql文件命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;

导入数据可能需要在未登录mysql下
linux> mysql -usrs -padmin --host=10.10.0.1 -D srstest < /home/test.sql

10:删除表
mysql>drop TABLE MYTABLE;

11:清空表
mysql>delete from MYTABLE;

12:更新表中数据
mysql>update MYTABLE set sex=”f” where name=’hyq’;

13:修改表
mysql>ALTER TABLE `orgs` ADD COLUMN `COUNTRY`  int(11) NULL AFTER `COUNTRY_ID`;
mysql>ALTER TABLE `orgs` DROP COLUMN `COUNTRY`;

14:库对库传数据:
mysql>mysqldump -h '10.10.2.120' -usrsadmin -padmin123 --opt --compress fromdbname --skip-lock-tables | mysql -h '10.10.2.231' -usrs -padmin123 todbname //第一个-h为源数据库fromdbname为数据库名


mysql> show variables like '%timeout%';
mysql> show variables like '%max_allowed%';
mysql> set wait_timeout = 36000;
mysql> show variables like '%character%';
mysql> set character_set_client = utf8;

mysql> UPDATE action SET `ORG` = CONVERT(CAST(CONVERT( `ORG` USING latin1) AS BINARY) USING utf8); #解决双重编码问题
[url]http://stackoverflow.com/questions/11436594/how-to-fix-double-encoded-utf8-characters-in-an-utf-8-table[/url]

linux> mysql --help | grep my.cnf


linux> service mysqld restart
linux> vi /etc/mysql/my.cnf  // >cat /etc/my.cnf
  在[client]和[mysqld]下面添加 default-character-set=utf8


对于mysql编码的处理。MySQL默认latin1编码,建表时候用的utf8,导致中午或其他语言乱码,导出数据直接查看也是乱码。
可先通过.sql文件导入导出
mysql -uadmin -padmin --host=10.10.250.100 -D table_from_uat < ./table_from_qa_20131217_01.sql

set names utf8;
select * from table1;//可正常显示中文,如果有中文乱码可能需要二次转码
UPDATE t_label SET `VALUE` = CONVERT(CAST(CONVERT(`VALUE` USING latin1) AS BINARY) USING utf8);

SELECT OPEN_DATE,CLOSED_DATE,PENDING_CONFIRMATION_DATE,
       (IFNULL(IFNULL(CLOSED_DATE,PENDING_CONFIRMATION_DATE),NOW()))AS aged,
       TIMESTAMPDIFF(SECOND,OPEN_DATE,
                   IFNULL(IFNULL(CLOSED_DATE,PENDING_CONFIRMATION_DATE),NOW())
       ) AS agedSec
 FROM TICKETANALYSIS
 WHERE OPEN_DATE BETWEEN '2014-03-01 00:00:00' AND '2014-06-05 23:59:59' 
    AND TICKETANALYSIS.ORG = 'AWSIE'
    AND IFNULL(IFNULL(CLOSED_DATE,PENDING_CONFIRMATION_DATE),NOW()) 
        >= '2014-03-02 00:00:00'
    AND TIMESTAMPDIFF(SECOND,OPEN_DATE,
                      IFNULL(IFNULL(CLOSED_DATE,PENDING_CONFIRMATION_DATE),NOW()))
        BETWEEN 1*24*60*60 AND 2*24*60*60
 ORDER BY OPEN_DATE

猜你喜欢

转载自fengjiangtao.iteye.com/blog/1924825