mysql常用語句
2
1.復制表結構和數據,但是不復制索引和外鍵:
- create table a select * from b;
2.復制表結構和索引和外鍵,不復制數據:
- create table a like b;
3.只復制數據:
- insert into a select * from b;
4.移動表到另一個庫
- rename table a.t to b.t;
5.刪除重復記錄
- --新建一個臨時表
- create table tmp as select * from youtable group by name ;
- --刪除原來的表
- drop table youtable ;
- --重命名表
- alter table tmp rename youtable;
- --新建一個臨時表
- create table tmp like youtable;
- --取出不重復的數據
- insert into select * from youtable group by name;
- --清空原來的表
- truncate youtable;
- --插入原來的表
- insert into youtable select * from tmp;
- --重命名表
- drop table tmp;
6.重命名數據庫
到/var/lib/mysql/
修改對應數據庫的文件夾名即可
7.時間格式
- SELECT FROM_UNIXTIME( 1249488000,'%Y-%m-%d %H:%i:%s') ;
- SELECT DATE_FORMAT('1997-10-04 22:23:00', '%Y-%m-%d %H:%i:%s');
- SELECT UNIX_TIMESTAMP('2009-08-06') ;
8.mysql日志
- --查看日志
- show binary logs;
- show master logs;
- --清除日志
- PURGE MASTER LOGS TO 'mysql-bin.000035';
- --手動刪除10天前的mysql binlog日志
- PURGE MASTER LOGS BEFORE DATE_SUB(CURRENT_DATE, INTERVAL 10 DAY);
9.獲得更新記錄數
- select ROW_COUNT();
10.獲得找到的記錄數
- select FOUND_ROWS();
11.獲得插入的id
- select LAST_INSERT_ID();
12.創建特殊表名
- SET sql_mode='ANSI_QUOTES';
- create table "a-b" (a int);
13.插入不重復數據
- insert into node (name) select 'a' where no exists(select id from node where id=2 and name='a')
14.uuid
- select replace(uuid(), '-', '');
15.添加一個遠程用戶,名為username密碼為password
- GRANT ALL PRIVILEGES ON *.* TO username@"%" IDENTIFIED BY 'password' WITH GRANT OPTION;
16.從文件導入數據
- LOAD DATA INFILE '/tmp/result100.txt' INTO TABLE analy_ip_file2 FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
17.添加主鍵
- alter table userconfig add id int(4) auto_increment primary key;
18.查看mysql參數
- show variables like '%max%';
end