最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql語法、特殊符號及正則表達(dá)式的使用詳解

 更新時(shí)間:2017年11月15日 09:39:27   投稿:mrr  
這篇文章主要介紹了Mysql語法、特殊符號及正則表達(dá)式的使用詳解,文中包括mysql常用顯示命令,索引使用規(guī)則等知識(shí)點(diǎn),非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

Mysql常用顯示命令

1、顯示當(dāng)前數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)庫列表:

mysql> SHOW DATABASES;

注意:mysql庫里面有MYSQL的系統(tǒng)信息,我們改密碼和新增用戶,實(shí)際上就是用這個(gè)庫進(jìn)行操作。

2、進(jìn)入數(shù)據(jù)庫:

mysql> USE 庫名;

2、顯示數(shù)據(jù)庫中的數(shù)據(jù)表:

mysql> SHOW TABLES;

3、顯示數(shù)據(jù)表的結(jié)構(gòu):

mysql> DESCRIBE 表名;

4、建立數(shù)據(jù)庫:

mysql> CREATE DATABASE 庫名;

5、建立數(shù)據(jù)表:

mysql> USE 庫名;
mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));

6、刪除數(shù)據(jù)庫:

mysql> DROP DATABASE 庫名;

7、刪除多個(gè)數(shù)據(jù)表:

mysql> DROP TABLE 表名,表名;

8、將表中記錄清空:

mysql> DELETE FROM 表名;

9、顯示表中的記錄:

mysql> SELECT * FROM 表名;

10、往表中插入新的字段:

mysql> alter tabel 表名 add column 字段名 varchar(10);

10、往表中插入記錄:

mysql> INSERT INTO 表名 VALUES (”hyq”,”M”);

語法:

INSERT [INTO] tbl_name [(col_name,...)] VALUES (PRession,...),…
INSERT [INTO] tbl_name SET col_name=expression, ...

Note:在django中插入時(shí)要多加一個(gè)id字段:INSERT INTO 表名 VALUES (1, 'aaa', 'bbb');

11、修改字段類型:

mysql> alter table 表名 modify column 字段名 varchar(12);

11、更新表中數(shù)據(jù):

mysql-> UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';

12、用文本方式將數(shù)據(jù)裝入數(shù)據(jù)表中:

mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE 表名;

13、導(dǎo)入.sql文件命令:

mysql> USE 數(shù)據(jù)庫名;
mysql> SOURCE d:/mysql.sql;

14、命令行修改root密碼:

mysql> UPDATE mysql.user SET password=PASSWORD('新密碼') WHERE User='root';
mysql> FLUSH PRIVILEGES;

15、顯示use的數(shù)據(jù)庫名:

mysql> SELECT DATABASE();

16、顯示當(dāng)前的user:

mysql> SELECT USER();

Note:

1. 操作都是在MySQL的提示符下進(jìn)行的,而且每個(gè)命令以分號結(jié)束。

2. sql語句對大小寫不敏感

MySQL索引使用規(guī)則

用于索引的最好的備選數(shù)據(jù)列是那些出現(xiàn)在WHERE子句、join子句、ORDER BY或GROUP BY子句中的列。

什么情況下應(yīng)不建或少建索引?

a. 表記錄太少

b. 經(jīng)常插入、刪除、修改的表

c. 經(jīng)常和主字段一塊查詢但主字段索引值比較多的表字段

復(fù)合索引的創(chuàng)建:

比如有一條語句是這樣的:

select * from users where area='beijing' and age=22;

如果我們是在area和age上分別創(chuàng)建單個(gè)索引的話,由于mysql查詢每次只能使用一個(gè)索引,所以雖然這樣已經(jīng)相對不做索引時(shí)全表掃描提高了很多效率,但是如果在area、age兩列上創(chuàng)建復(fù)合索引的話將帶來更高的效率。

如果我們創(chuàng)建了(area, age,salary)的復(fù)合索引,那么其實(shí)相當(dāng)于創(chuàng)建了(area,age,salary)、(area,age)、(area)三個(gè)索引,這被稱為最佳左前綴

復(fù)合索引的建立以及最左前綴原則:

如果你需要索引一個(gè)字符串?dāng)?shù)據(jù)列,那么最好在任何適當(dāng)?shù)那闆r下都應(yīng)該指定前綴長度。你可以索引CHAR、VARCHAR、BINARY、VARBINARY、BLOB和TEXT數(shù)據(jù)列的前綴。

假設(shè)你在表的state、city和zip數(shù)據(jù)列上建立了復(fù)合索引。索引中的數(shù)據(jù)行按照state/city/zip次序排列,因此它們也會(huì)自動(dòng)地按照state/city/zip次序排列。這意味著,即使你在查詢中只指定了state值,或者指定state和city值,MySQL也可以使用這個(gè)索引。因此,這個(gè)索引可以被用于搜索如下所示的數(shù)據(jù)列組合:(state, city, zip)(state, city)(state)

索引不會(huì)包含有NULL值的列

只要列中包含有NULL值都將不會(huì)被包含在索引中,復(fù)合索引中只要有一列含有NULL值,那么這一列對于此復(fù)合索引就是無效的。所以我們在數(shù)據(jù)庫設(shè)計(jì)時(shí)不要讓字段的默認(rèn)值為NULL。

mysql查詢只使用一個(gè)索引.

因此如果where子句中已經(jīng)使用了索引的話,那么order by中的列是不會(huì)使用索引的。因此數(shù)據(jù)庫默認(rèn)排序可以符合要求的情況下不要使用排序操作;盡量不要包含多個(gè)列的排序,如果需要最好給這些列創(chuàng)建復(fù)合索引。

一般情況下不鼓勵(lì)使用like操作.

如果非使用不可,如何使用也是一個(gè)問題。like “%a%” 不會(huì)使用索引而like “aaa%”可以使用索引。

不要在列上進(jìn)行運(yùn)算,select * from users where YEAR(adddate)

不使用NOT IN操作:

NOT IN操作不會(huì)使用索引將進(jìn)行全表掃描。NOT IN可以用NOT EXISTS代替.

mysql特殊符號

% (百分號) :

代表任意長度(長度可以為0)的字符串 例:a%b表示以a開頭,以b結(jié)尾的任意長度的字符串。如acb,addgb,ab等都滿足該匹配串 _ (下橫線):
代表任意單個(gè)字符 例:a_b表示以a開頭,以b結(jié)尾的長度為3的任意字符串。如acb,afb等都滿足該匹配串

字符串引號:

在SQL中,表示字符串引號強(qiáng)烈建議使用單引號(')。雖然MySQL(和PHP搭配之最佳組合)也可以使用雙引號("),但是為了和sql server(WINDOWS平臺(tái)上強(qiáng)大的數(shù)據(jù)庫平臺(tái))和Oracle(大型網(wǎng)站數(shù)據(jù)庫平臺(tái))統(tǒng)一,建議都使用單引號。如果在字符串中也有單引號出現(xiàn)的話,在SQL中需要將其替換為兩個(gè)單引號(''),DBMS會(huì)將其解釋為一個(gè)單引號的。

SQL的換行符和字符串連接符:

在MySQL(和PHP搭配之最佳組合)、sql server(WINDOWS平臺(tái)上強(qiáng)大的數(shù)據(jù)庫平臺(tái))和Oracle(大型網(wǎng)站數(shù)據(jù)庫平臺(tái))中均有不同,下面以列表顯示。 MySQL(和PHP搭配之最佳組合)sql server(WINDOWS平臺(tái)上強(qiáng)大的數(shù)據(jù)庫平臺(tái))Oracle(大型網(wǎng)站數(shù)據(jù)庫平臺(tái))換行符\n或\r\n或CHAR(10)CHAR(13)CHR(10)字符串連接符CONCAT()+||或CONCAT()

宏變量標(biāo)識(shí)符(&) :

在Oracle(大型網(wǎng)站數(shù)據(jù)庫平臺(tái))里有特殊含義,是一個(gè)宏變量標(biāo)識(shí)符,在SQLPLUS里執(zhí)行SELECT 'AAA BBB' AS STR FROM DUAL,它會(huì)提示你輸入宏變量值,所有如果SQL里有(&),建議用單引號括起來,如SELECT 'AAA'||'&'||'nbsp;BBB' AS STR FROM DUAL它就不會(huì)提示了。

mysql正則表達(dá)式

replace、regexp的用法

0 Comments | This entry was posted on Apr 08 2010

mysql replace用法

1.replace into

replace into table (id,name) values('1′,'aa'),('2′,'bb')

此語句的作用是向表table中插入兩條記錄。如果主鍵id為1或2不存在

就相當(dāng)于

insert into table (id,name) values('1′,'aa'),('2′,'bb')

如果存在相同的值則不會(huì)插入數(shù)據(jù)

2.replace(object,search,replace)

把object中出現(xiàn)search的全部替換為replace

select replace('www.163.com','w','Ww')—>WwWwWw.163.com

例:把表table中的name字段中的aa替換為bb

update table set name=replace(name,'aa','bb')

——————————————————————————–

擴(kuò)展正則表達(dá)式

由MySQL提供的模式匹配的其它類型是使用擴(kuò)展正則表達(dá)式。當(dāng)你對這類模式進(jìn)行匹配測試時(shí),使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它們是同義詞)。

擴(kuò)展正則表達(dá)式的一些字符是:

· ‘.'匹配任何單個(gè)的字符。

· 字符類“[...]”匹配在方括號內(nèi)的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。為了命名字符的范圍,使用一個(gè)“-”?!癧a-z]”匹配任何字母,而“[0-9]”匹配任何數(shù)字。

· “ * ”匹配零個(gè)或多個(gè)在它前面的字符。例如,“x*”匹配任何數(shù)量的“x”字符,“[0-9]*”匹配任何數(shù)量的數(shù)字,而“.*”匹配任何數(shù)量的任何字符。

如果REGEXP模式與被測試值的任何地方匹配,模式就匹配(這不同于LIKE模式匹配,只有與整個(gè)值匹配,模式才匹配)。

為了定位一個(gè)模式以便它必須匹配被測試值的開始或結(jié)尾,在模式開始處使用“^”或在模式的結(jié)尾用“$”。

為了說明擴(kuò)展正則表達(dá)式如何工作,下面使用REGEXP重寫上面所示的LIKE查詢:

為了找出以“b”開頭的名字,使用“^”匹配名字的開始:

mysql> SELECT * FROM pet WHERE name REGEXP ‘^b';

[mysql 正則表達(dá)式]

[刪除mysql數(shù)據(jù)庫中所有不以JP開頭的表]

總結(jié)

以上所述是小編給大家介紹的Mysql語法、特殊符號及正則表達(dá)式的使用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 兩個(gè)MySql服務(wù)的應(yīng)用

    兩個(gè)MySql服務(wù)的應(yīng)用

    兩個(gè)MySql服務(wù)的應(yīng)用兼容方法。
    2009-10-10
  • Win10環(huán)境下安裝Mysql5.7.23問題及遇到的坑

    Win10環(huán)境下安裝Mysql5.7.23問題及遇到的坑

    這篇文章主要介紹了Win10環(huán)境下安裝Mysql5.7.23問題及遇到的坑,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-11-11
  • MySQL表的碎片整理和空間回收的方法

    MySQL表的碎片整理和空間回收的方法

    本文主要介紹了MySQL表的碎片整理和空間回收的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • mysql時(shí)間相減如何獲取秒值

    mysql時(shí)間相減如何獲取秒值

    這篇文章主要介紹了mysql時(shí)間相減如何獲取秒值問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 實(shí)現(xiàn)MySQL數(shù)據(jù)庫鎖的兩種方式

    實(shí)現(xiàn)MySQL數(shù)據(jù)庫鎖的兩種方式

    今天我們就來聊一聊數(shù)據(jù)庫的鎖,實(shí)現(xiàn)數(shù)據(jù)庫鎖的兩種方式,一個(gè)是實(shí)現(xiàn)樂觀鎖的方式,一個(gè)是實(shí)現(xiàn)悲觀鎖的實(shí)現(xiàn)方式,文中的代碼示例介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • MySQL中字符串函數(shù)詳細(xì)介紹

    MySQL中字符串函數(shù)詳細(xì)介紹

    通常以串的整體作為操作對象,如:在串中查找某個(gè)子串、求取一個(gè)子串、在串的某個(gè)位置上插入一個(gè)子串以及刪除一個(gè)子串等。
    2011-05-05
  • 通過實(shí)例解析MySql CURRENT_TIMESTAMP函數(shù)

    通過實(shí)例解析MySql CURRENT_TIMESTAMP函數(shù)

    這篇文章主要介紹了通過實(shí)例解析MySql CURRENT_TIMESTAMP函數(shù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • centos7下安裝mysql6初始化安裝密碼的方法

    centos7下安裝mysql6初始化安裝密碼的方法

    這篇文章主要介紹了centos7下安裝mysql6初始化安裝密碼的方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • MySQL中日期型單行函數(shù)代碼詳解

    MySQL中日期型單行函數(shù)代碼詳解

    這篇文章給大家介紹MySQL中日期型單行函數(shù)的相關(guān)知識(shí),包括返回當(dāng)前日期時(shí)精確到日、秒的參考代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-06-06
  • 詳解MySQL主鍵唯一鍵重復(fù)插入解決方法

    詳解MySQL主鍵唯一鍵重復(fù)插入解決方法

    我們插入數(shù)據(jù)的時(shí)候,有可能碰到重復(fù)數(shù)據(jù)插入的問題,那么MySQL主鍵唯一鍵重復(fù)插入如何解決,本文就詳細(xì)的來介紹一下,感興趣的可以了解一下
    2021-09-09

最新評論

磐石市| 宾川县| 甘肃省| 贡山| 张掖市| 禹州市| 台前县| 老河口市| 怀远县| 拜城县| 通山县| 宜川县| 德州市| 美姑县| 赤城县| 同江市| 盐池县| 霍州市| 诏安县| 永登县| 贵州省| 武清区| 苏尼特左旗| 遂宁市| 科技| 滨海县| 上栗县| 松滋市| 巨鹿县| 鹤壁市| 凯里市| 潢川县| 舞阳县| 平潭县| 乌苏市| 达日县| 探索| 正安县| 孟津县| 南汇区| 镇康县|