1、replace into(insert into 的增強版)
replace into tbl_name(col_name, ...) values(...)
replace into tbl_name(col_name, ...) select ...
適用情況: 判斷資料是否存在;如果不存在,則插入;如果存在,則更新。
replace into 跟 insert 功能類似,不同點在於:replace into 首先嘗試插入資料到表中, 如果發現表中已經有此行資料(根據主鍵或者唯一索引判斷)則先刪除此行資料,然後插入新的資料。否則,直接插入新資料。
要注意的是:插入資料的表必須有主鍵或者是唯一索引,否則的話,replace into 會直接插入資料,這將導致表**現重複的資料。
2、limit-查詢返回數量限制
select * from table limit [offset,] rows | rows offset offset
limit 接受乙個或兩個數字引數。引數必須是乙個整數常量。
如果給定兩個引數,第乙個引數指定第乙個返回記錄行的偏移量,第二個引數指定返回記錄行的最大數目。
初始記錄行的偏移量是 0(而不是 1): 為了與 postgresql 相容,mysql 也支援句法: limit # offset #。
mysql> select * from table limit 5,10; // 檢索記錄行 6-15 ,注意,10為偏移量
//為了檢索從某乙個偏移量到記錄集的結束所有的記錄行,可以指定第二個引數為 -1:
mysql> select * from table limit 95,-1; // 檢索記錄行 96-last.
//如果只給定乙個引數,它表示返回最大的記錄行數目:
mysql> select * from table limit 5; //檢索前 5 個記錄行 //也就是說,limit n 等價於 limit 0,n。
如果你想得到最後幾條資料可以多加個 order by id desc
mysql不支援select top n的語法,應該用這個替換:
select * from tablename order by orderfield desc/asc limit position,counter;
position 指示從**開始查詢,如果是0則是從頭開始,counter 表示查詢的個數
取前15條記錄:
select * from tablename order by orderfield desc/asc limit 0,15
3、like-模糊查詢萬用字元使用
sql模式
select 字段 from 表 where 某欄位 like 條件
其中關於條件,sql提供了四種匹配模式:
1,%:表示任意個或多個字元。可匹配任意型別和長度的字元。
2,_:表示任意單個字元。匹配單個任意字元,它常用來限制表示式的字元長度語句:(可以代表乙個中文字元)
注意:sql的模式預設是忽略大小寫的
正則模式
由mysql提供的模式匹配的其他型別是使用擴充套件正規表示式。當你對這類模式進行匹配測試時,使用regexp和not regexp操作符(或rlike和not rlike,它們是同義詞)。
擴充套件正規表示式的一些字元是:
. -匹配任何單個的字元。(單位元組字元)
[...] - 乙個字元類「[...]」匹配在方括號內的任何字元。例如,「[abc]」匹配「a」、「b」或「c」。為了命名字元的乙個範圍,使用乙個「-」。「[a-z]」匹配任何小寫字母,而「[0-9]」匹配任何數字。
* - 匹配零個或多個在它前面的東西。
^ - 匹配開頭
$ - 匹配結尾
例如,「x*」匹配任何數量的「x」字元,「[0-9]*」匹配的任何數量的數字,而「.*」匹配任何數量的任何東西。
正規表示式是區分大小寫的,但是如果你希望,你能使用乙個字元類匹配兩種寫法。例如,「[aa]」匹配小寫或大寫的「a」而「[a-za-z]」匹配兩種寫法的任何字母。
4、建立表
create table blog_article
(article_id int unsigned not null auto_increment,
article_title varchar(20) not null unique,
article_content longtext not null,
article_date datetime not null,
article_readtime int unsigned not null default 0,
user_name char(15) not null,
category_name char(18) not null,
primary key(article_id),
foreign key(user_name) references blog_user(user_name) on delete cascade on update cascade,
foreign key(category_name) references blog_category(category_name) on delete cascade on update cascade
)engine=innodb default charset=utf8 auto_increment=1;
create table tb_equipment
(e_id int unsigned not null auto_increment,
e_name varchar(20) not null unique,
e_value longtext not null,
e_categoryid varchar(50) null,
e_assetclassname varchar(20),
e_version char(15) not null,
e_brand char(18) not null,
primary key(e_id ),
)engine=innodb default charset=utf8 auto_increment=1;
mysql基本命令總結 mysql基本命令總結
1.在ubuntu上安裝mysql sudo apt get install mysql server sudo apt get install mysql client 2.安裝結束後,用命令驗證是否安裝並啟動成功 sudo netstat tap grep mysql 通過上述命令檢查之後,如果...
Emacs 基本命令整理
c表示ctrl鍵,m表示alt鍵 游標控制 c v 向前翻頁 m v 向後翻頁,pageup c l 游標所在行置中 c p 游標上移 c n 游標下移 c b 游標後移 c f 游標前移 m f 前移一詞 m b 後移一詞 c a 移到行首 c e 移到行尾 m a 移到句首 m e 移到句尾 m...
mongoDB 基本命令整理
1 mongodb官網 www.mongodb.org 2 mongodb國內官方 www.monging.com 4 mongodb的github 5 mongodb的jira 6 兩個google groups mongdb user與mongo cn 為什麼選擇mongodb 1 無資料結構的...