CREATE TABLE `biao` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '測試表', `createtime` datetime DEFAULT NULL COMMENT '時間', `title` varchar(10) CHARACTER SET latin1 DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
刪除表:DROP TABLE IF EXISTS `biao`;
DROP TABLE IF EXISTS `biao`;
DROP TABLE IF EXISTS t1,t2;
顯示錶結構,簡寫desc:describe biao
顯示錶結構語句:show create table biao
修改表名:alter table old rename new
顯示錶結構:show tables
修改字段類型:alter table biao modify id int(5)
修改表字段,新舊字段同樣和modify就同樣功能:ALTER TABLE test ADD qqq VARCHAR(10) DEFAULT '1' NOT NULL
ALTER TABLE test CHANGE test test1 CHAR(32) NOT NULL DEFAULT '123';
刪除字段:ALTER TABLE ims_mm DROP ttt
定義主鍵 primary key
非空 not null
惟一性 unique
默認值 default
自動 auto_increment
函數:
DROP TABLE IF EXISTS t1,t2;
顯示錶結構,簡寫desc:describe biao
顯示錶結構語句:show create table biao
describe biaoshow create table biao
修改表名:alter table old rename new
顯示錶結構:show tables
修改字段類型:alter table biao modify id int(5)
修改表字段,新舊字段同樣和modify就同樣功能:ALTER TABLE test ADD qqq VARCHAR(10) DEFAULT '1' NOT NULL
ALTER TABLE test CHANGE test test1 CHAR(32) NOT NULL DEFAULT '123';
刪除字段:ALTER TABLE ims_mm DROP ttt
定義主鍵 primary key
非空 not null
惟一性 unique
默認值 default
自動 auto_increment
函數:
修改表名:alter table old rename new
alter table old rename new
顯示錶結構:show tables
修改字段類型:alter table biao modify id int(5)
修改表字段,新舊字段同樣和modify就同樣功能:ALTER TABLE test ADD qqq VARCHAR(10) DEFAULT '1' NOT NULL
ALTER TABLE test CHANGE test test1 CHAR(32) NOT NULL DEFAULT '123';
刪除字段:ALTER TABLE ims_mm DROP ttt
定義主鍵 primary key
非空 not null
惟一性 unique
默認值 default
自動 auto_increment
函數:
顯示錶結構:show tables
show tables
修改字段類型:alter table biao modify id int(5)
修改表字段,新舊字段同樣和modify就同樣功能:ALTER TABLE test ADD qqq VARCHAR(10) DEFAULT '1' NOT NULL
ALTER TABLE test CHANGE test test1 CHAR(32) NOT NULL DEFAULT '123';
刪除字段:ALTER TABLE ims_mm DROP ttt
定義主鍵 primary key
非空 not null
惟一性 unique
默認值 default
自動 auto_increment
函數:
修改字段類型:alter table biao modify id int(5)
修改表字段,新舊字段同樣和modify就同樣功能:ALTER TABLE test ADD qqq VARCHAR(10) DEFAULT '1' NOT NULL
alter table biao modify id int(5)ALTER TABLE test ADD qqq VARCHAR(10) DEFAULT '1' NOT NULL
ALTER TABLE test CHANGE test test1 CHAR(32) NOT NULL DEFAULT '123';
刪除字段:ALTER TABLE ims_mm DROP ttt
定義主鍵 primary key
非空 not null
惟一性 unique
默認值 default
自動 auto_increment
函數:
ALTER TABLE test CHANGE test test1 CHAR(32) NOT NULL DEFAULT '123';
刪除字段:ALTER TABLE ims_mm DROP ttt
定義主鍵 primary key
非空 not null
惟一性 unique
默認值 default
自動 auto_increment
函數:ALTER TABLE ims_mm DROP ttt
隨機數 rand()
鏈接字符串 concat('中國','打日本')
轉換小寫 lcase('ABC') lower
轉換大寫 upper ucase
去除空格 trim(str)
獲取日期函數
curdate()+0 返回20160916 curdate() 2016-09-16
時間測試
curtime()
日期時間 now()
時間戳編碼
UNIX_TIMESTAMP(), UNIX_TIMESTAMP(now()) 日期轉換時間戳 FROM_UNIXTIME( 1539659520) 時間戳轉換成日期時間
月份spa
month('2016-04-28')
季度,1,2,3,4code
QUARTER('2016-04-28')
星期orm
DAYOFWEEK('2016-04-28') 1是星期日 weekday 0是星期1
天數排序
DAYOFYEAR('2016-04-28') 1-366
年 year
分鐘 minute
小時 hour
秒 second
版本version索引
聚合函數
avg(col) 平均值
count(*) 記錄數
min(col) max(col)最小 最大值
sum(col)求和token
SET NAMES utf8 設置編碼
基本查詢rem
select * from biao
條件
select * from biao where id=1
結果字段不重複
select distinct id from biao
排序,默認升序asc,降序desc
select * from biao order by id; select * from biao order by id desc ,time asc;
分組,having 限定條件
select * from biao group by sex; select * from biao group by sex having;
查詢條數
select * from biao limit 4 返回4條 select * from biao 4,3 返回3條,從第5條記錄開始
內鏈接兩個功能相同
select a,b,c from A inner join B on A.id = B.id; select a,b,c from A,B where A.id=B.id;
左右鏈接
select * from A left join B on A.id=B.id; select * from A right join B on A.id=B.id;
子查詢
select id from Table where id2 in(select id3 from Table2)
合併結果集
select * from A union all select * from B select * from A union select * from B 去重複
表或字段別名
select id as ID from A as a
插入
insert into Table(id,name) values (null,'Li') ;插入數據 insert into T(id,name) values (null,'Li'),(null,"Zhao"); insert into T values (null,"Li",null,"數據");插入全部列 insert into T(id,name) select id,name from T2; 查詢插入 insert ignore into Table(id,name) values (null,'Li') ; 惟一索引插入 有效防止重複數據
修改
update T set name='Li' where id=1; 更新 update t set num=num+1 where id=1 自動加一 update T left join T1 on T.id=T1.id set u='1',u1='2' where id=1;多表更新 update T set user=replace(user,'a','a1') 替換表字段
刪除
delete from T where id =1;刪除 delete from T where id in(1,2,3);刪除多條
清空
truncate table test
經常使用的查詢:
select * from ims_rank where DATE_SUB(CURDATE(),INTERVAL 7 DAY) <= date(createtime); 七天以前數據 30天 select * from ims_rank where to_days(createtime) =to_days(now()); 今天數據 select * from ims_rank where TO_DAYS( NOW( ) ) -TO_DAYS( createtime) <= 1 昨天今天數據 select * from ims_rank where DATE_FORMAT( createtime,'%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' )本月 select * from ims_rank where PERIOD_DIFF( date_format(now( ) , '%Y%m' ) , date_format( createtime, '%Y%m' ) ) =1 上月 select * from ims_rank where YEARWEEK(date_format(createtime,'%Y-%m-%d')) =YEARWEEK(now()); 本週(第一天星期日) select * from ims_rank where YEARWEEK(date_format(createtime,'%Y-%m-%d')) = YEARWEEK(now())-1; 上週數據