mysql基本命令整理

2022-09-12 06:21:12 字數 3116 閱讀 2791

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 無資料結構的...