麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MySQL > 正文

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

2024-07-24 13:15:00
字體:
來源:轉載
供稿:網友

Mysql常用顯示命令

1、顯示當前數據庫服務器中的數據庫列表:

mysql/253630.html">mysql> SHOW DATABASES;

注意:mysql庫里面有MYSQL的系統信息,我們改密碼和新增用戶,實際上就是用這個庫進行操作。

2、進入數據庫:

mysql> USE 庫名;

2、顯示數據庫中的數據表:

mysql> SHOW TABLES;

3、顯示數據表的結構:

mysql> DESCRIBE 表名;

4、建立數據庫:

mysql> CREATE DATABASE 庫名;

5、建立數據表:

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

6、刪除數據庫:

mysql> DROP DATABASE 庫名;

7、刪除多個數據表:

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中插入時要多加一個id字段:INSERT INTO 表名 VALUES (1, 'aaa', 'bbb');

11、修改字段類型:

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

11、更新表中數據:

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

12、用文本方式將數據裝入數據表中:

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

13、導入.sql文件命令:

mysql> USE 數據庫名;mysql> SOURCE d:/mysql.sql;

14、命令行修改root密碼:

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

15、顯示use的數據庫名:

mysql> SELECT DATABASE();

16、顯示當前的user:

mysql> SELECT USER();

Note:

1. 操作都是在MySQL的提示符下進行的,而且每個命令以分號結束。

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

MySQL索引使用規則

用于索引的最好的備選數據列是那些出現在WHERE子句、join子句、ORDER BY或GROUP BY子句中的列。

什么情況下應不建或少建索引?

a. 表記錄太少

b. 經常插入、刪除、修改的表

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

復合索引的創建:

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

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

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

如果我們創建了(area, age,salary)的復合索引,那么其實相當于創建了(area,age,salary)、(area,age)、(area)三個索引,這被稱為最佳左前綴

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

如果你需要索引一個字符串數據列,那么最好在任何適當的情況下都應該指定前綴長度。你可以索引CHAR、VARCHAR、BINARY、VARBINARY、BLOB和TEXT數據列的前綴。

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

索引不會包含有NULL值的列

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

mysql查詢只使用一個索引.

因此如果where子句中已經使用了索引的話,那么order by中的列是不會使用索引的。因此數據庫默認排序可以符合要求的情況下不要使用排序操作;盡量不要包含多個列的排序,如果需要最好給這些列創建復合索引。

一般情況下不鼓勵使用like操作.

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

不要在列上進行運算,select * from users where YEAR(adddate)

不使用NOT IN操作:

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

mysql特殊符號

% (百分號) :

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

字符串引號:

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

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

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

宏變量標識符(&) :

在Oracle(大型網站數據庫平臺)里有特殊含義,是一個宏變量標識符,在SQLPLUS里執行SELECT 'AAA BBB' AS STR FROM DUAL,它會提示你輸入宏變量值,所有如果SQL里有(&),建議用單引號括起來,如SELECT 'AAA'||'&'||'nbsp;BBB' AS STR FROM DUAL它就不會提示了。

mysql正則表達式

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不存在

就相當于

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

如果存在相同的值則不會插入數據

2.replace(object,search,replace)

把object中出現search的全部替換為replace

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

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

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

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

擴展正則表達式

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

擴展正則表達式的一些字符是:

· ‘.'匹配任何單個的字符。

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

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

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

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

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

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

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

[mysql 正則表達式]

[刪除mysql數據庫中所有不以JP開頭的表]

總結

以上所述是小編給大家介紹的Mysql語法、特殊符號及正則表達式的使用,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚欧美一区二区 | 欧美日韩精品一区二区三区不卡 | 欧美亚洲一级 | 999精品国产 | 日本视频免费 | 国语自产免费精品视频在 | 爱高潮www亚洲精品 国产精品一区自拍 | 久久国产精品电影 | 日日草视频 | 精品一区在线视频 | 欧美激情第一区 | 日日狠狠久久偷偷四色综合免费 | 国产一区二区三区四区在线 | 国产精品午夜未成人免费观看 | 成人国产精品一区 | 久久久久久久久成人 | 国产精品毛片va一区二区三区 | 中文区永久区 | 成人店女老板视频在线看 | 国产成人精品一区二区视频免费 | 精品国产视频一区二区三区 | 懂色粉嫩av久婷啪 | 久久国产一级 | 免费在线中文字幕 | 一区二区三区欧美在线观看 | 亚洲国产超高清a毛毛片 | 成人在线观看免费观看 | 久色成人网 | 曰本三级日本三级日本三级 | a视频在线播放 | 毛片视频在线免费观看 | 亚洲网站在线观看视频 | 国产一级小视频 | 成人福利视频导航 | 国产成人精品免高潮在线观看 | 成人av一二三区 | 免费一级毛片电影 | 国产在线91| 亚洲欧美国产视频 | 91懂色| 日韩精品 |