您好,登錄后才能下訂單哦!
下文主要給大家帶來 MySql基本操作及開發經常使用到哪些,希望這些內容能夠帶給大家實際用處,這也是我編輯 MySql基本操作及開發經常使用到哪些這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。
MySQL語句的規范
(1):關鍵字與函數名稱全部大寫
(2):數據庫名稱,表名稱,字段名稱全部小寫
(3):SQL語句必須以分號結尾
1:命令行模式啟動mysql服務
net start mysql
2:命令行模式關閉mysql服務
net stop mysql
3:mysql退出
mysql>exit;
mysql>quit;
mysql>\q;
4:顯示當前云服務器版本
select version();
5:顯示當前日期時間
select now();
6:顯示當前用戶
select user();
7:創建數據庫
CREATE DATABASE 數據庫名;
8:查看當前云服務器下的數據表列表
SHOW DATABASES;
9:查看警告信息
SHOW WARNINGS;
10:顯示數據庫創建的時候顯示的指令是多少
SHOW CREATE DATABASE 數據庫名;
11:指定數據庫的編碼方式
CREATE DATABASE IF NOT EXISTS 數據庫名 CHARACTER SET gbk;
12:修改數據庫
13:修改數據庫的編碼方式
ALTER DATABASE 數據庫名 CHARACTER SET = UTF8;
14:刪除數據庫
DROP DATABASE 數據庫名;
15:登錄mysql客戶端數據庫
mysql -u賬戶 -p密碼 -P端口號 -hip地址
16:打開數據庫
(連貫操作
第一SHOW DATABASES;
第二USE 數據庫名
第三SHOW TABLES;
)
USE test;
17:(顯示當前用戶打開的數據庫)
SELECT DATABASE();
18:創建數據表(UNSIGNED不可以為負)
CREATE TABLE [IF NOT EXISTS] 數據表名(
數據表列名稱 數據類型,
username VARCHAR(20),
age TINYINT UNSIGNED,
salary FLOAT(8,2) UNSIGNED
);
19:查看數據表
SHOW TABLES;
SHOW TABLES FROM mysql;//查看mysql的數據表
20:查看數據表結構
SHOW COLUMNS FROM 數據表的名稱
21:向數據表中寫入記錄,插入記錄
INSERT [INTO] 表的名字[(col_name,...)] 值(val,...)
INSERT t1 VALUES('TOM',22,8000.25);
22:記錄的查找命令SELECT(查看表里面的內容)
記錄查找
SELECT * FROM t1;
23:空值和非空值
NULL:字段值可以為空
NOT NULL:字段值禁止為空
查看表的結構DESC 表名;
24:自動編號
AUTO_INCREMENT
自動編號,且必須與主鍵組合使用
默認情況下,起始值為1,每次的增量為1;
25:主鍵PRIMARY KEY(primary key)
主鍵約束
每張數據表只能存在一個主鍵
主鍵保證記錄的唯一性
主鍵自動為NOT NULL;
26:唯一約束UNIQUE KEY
唯一約束
唯一約束可以保證記錄的唯一性
唯一約束的字段可以為空值
每張數據表可以存在多個唯一約束
27:默認約束DEFAULT
默認值
當插入記錄時,如果沒有明確為字段賦值,則自動賦予默認值
擴展,修改表的名字
1:下面詳細的說一下以后經常使用的命令和操作,方便大家學習和自我腦補
(首先打開mysql自帶的命令行輸入密碼即可登錄,必須保證mysql的服務啟動起來,不然輸入密碼按enter鍵會閃退,如何起服務請自行腦補)
2:(登錄以后首先查看自己的mysql的數據庫,mysql自帶四個數據庫,其他是自己創建的)
3:(做項目首先就是先創建一個數據庫,如下圖所示,CREATE DATABASE 數據庫名,我強烈建議mysql語句大寫,以示區別,純屬個人建議與習慣,最后的分號一定要加上,切記)
4:(創建好數據庫可以查詢一下使用SHOW DATABSES;命令,切記DATABASES后面又一個s,后面加分號;結束按enter鍵查詢即可)
5:(刪除創建好的數據庫,命令是DROP DATABASE 數據庫名;切記加分號;)
6:(再次查詢自己的數據庫顯示已經刪除了)
7:(在此我使用以前創建的數據庫demo,查看數據庫以后就可以使用USE 數據庫名;切換到某一個數據庫,然后操作這個數據庫里面的數據表)
8:(顯示這個數據庫里面的數據表,SHOW TABLES;顯示這個數據庫里面的數據表,這是以前創建的數據表)
9:(顯示后發現沒有自己想要的,就自行創建一個數據表,命令CREATE TABLE 數據表名(字段名 字段的數據類型,。。。。); 需要注意的就是最后);后面的分號,一定要加上去,格式如下圖所示,創建一個最簡單的數據表。 )
10:(創建好數據表查看創建好的數據表,命令上面已經說過,不作多敘述)
11:(當創建的數據表不符合自己的需求時刪除即可,命令如下,DROP TABLE 數據表名; 即可刪除創建好的數據表)
12:(創建命令上面說過,不作多敘述,這里加入了mysql的約束,在id加上了主鍵PRIMARY KEY和自動增加AUTO_INCREMENT這兩個約束,需要注意的就是主鍵和自動增加的單詞別拼寫錯誤了,不然命令就會報錯)
13:(再次查看自己創建好的數據表)
14:(查看自己創建好的數據表的結構,下面顯示了字段名稱,字段的類型,字段是否為空,是否為主鍵,和是否自動增加等等)
15:(創建數據表的目的就是使用它,下面就是插入一條語句,命令INSERT INTO 數據表名 VALUES(字段的值); 字段的值需要注意的是:當添加的字段的數據類型是int類型,直接寫值,如果添加的字段的類型是varchar類型和日期類型,使用單引號把值包起來,格式如下圖所示即可。)
16:(插入完成后就可以查看自己的數據表里面是否插入成功,命令SELECT * FROM 數據表名;)
17:(插入的方式除了上面那種還可以使用下面這種,由于id是自動增加的,所以id那個字段可以省略,其他字段的添加內容即可,需要注意的是數據表名(字段名) 和values(字段值),必須一 一對應,格式如下所示。)
18:(然后再次查看數據表里面的內容即可)
19:(更新操作,命令UPDATE 數據表明 SET 更新的內容 WHERE 更新的條件)
20:(更新操作完畢后查看是否更新完成)
21:(刪除命令,如下所示,DELETE FROM 數據表名 WHERE 刪除的條件,或者直接DELETE FROM 數據表名,即把這個數據表全部刪除,這里不做演示,請自行腦補)
22:(然后查看自己的數據表即可,已經完成刪除了)
23:(查詢的方式上圖已經說了,如SELECT * FROM 數據表名;請自行腦補,下面說一下其他的查詢方式,只查詢部分內容,SELECT 查詢的字段 FROM 數據表名;如下圖)
24:(帶有條件的查詢語句,如下圖,SELECT * FROM 數據表名 WHERE 查詢條件)
25:(查詢的時候也可以起別名,下面給字段起別名,命令SELECT 字段名 AS 別名,... FROM 數據表名)
26:(查詢的時候也可以起別名,下面給字段起別名,命令SELECT 字段名 別名,... FROM 數據表名,需要注意的是也可以將AS省去也可)
27:(也可以將數據表名起別名,格式如下,請自行腦補)
28:(distinct,去除表里面重復語句查詢;記錄語句 select distinct * from 表名;)由于我的數據表里面的id設置為主鍵了,無法添加重復的值,在此不做演示。請自行腦補。。。。。。
29:(第一,運算符 < > >= <= WHERE的條件查詢需要多做練習,如下圖所示,請自行腦補WHERE 后面是條件)
30:(in:在范圍內 代表在范圍內的,如下圖所示)
31:(in后面也可以加多個查詢值)
32:(第三,and:在where里面如果有多個條件,表示多個條件同時滿足)
33:(第三,and:在where里面如果有多個條件,表示多個條件同時滿足,可以是范圍也可以是具體的)
34:(第四,得到區間范圍的值,注意使用AND 和BETWEEN ... AND的區別,容易出錯)
35:(第五,like:模糊查詢 ; _下劃線代表一個字母,%代表多個字母)
36:(查詢當前的時間)
37:(注意:order by寫在select語句的最后 ;降序 order by 要排序字段 desc)
38:(第一,升序 order by 要排序字段 asc(asc可以省略,默認的情況下就是升序))
39:(排序ORDER BY需要寫在最后面,前面可以加條件控制篩選后進行排序升序或者降序)
40:聚集函數的使用
(count()函數,根據查詢的結果,統計記錄數,寫法 select count(*) from ...where....)
41:(還可以為count(*)起別名,如下圖所示)
42:(還可以使用WHERE進行篩選條件統計查詢)
43:(sum()函數,求和的函數,寫法 select sum(要進行求和字段) from ...where....)
44:(下圖也是求平均數和45的AVG函數做對比)
45:(avg()函數,計算的平均數的函數,寫法 select avg(要計算平均數的字段名稱) from ...)
46:(max()函數:計算最大值,寫法 select max(字段) from...)
47:(min()函數:計算最小值,寫法 select min(字段) from...)
48:(分組使用 group by 根據分組的字段 WHERE子句里面不能寫具體函數,寫了就報錯,我在這里已經重新創建新的數據表,請自行腦補)
49:(在分組的基礎之上再進行條件的判斷 having,后面可以寫聚集函數,因為使用WHERE后面無法使用具體的聚集函數,所以使用HAVING后面加聚集函數進行使用)
(上下兩張圖做對比,先分類name然后把一樣類求總和)
50:分頁查詢,LIMIT 0,5;執行分頁查詢,第一個數字代表從那個開始,第二個數字代表一頁有幾個。
舉兩個例子,上下如圖
51:多表查詢,(笛卡爾乘積);連接查詢(是將兩種或者兩種以上的表按照某種條件連接起來,從中選取需要的數據)
(后面介紹一下:內連接查詢,外連接查詢,左連接查詢,右連接查詢,多條件連接查詢)
52:內連接查詢:(是一種常見的連接查詢,內鏈接查詢可以查看兩個多兩個以上的表)需要注意的是‘’去掉也可以執行的。也可以查詢詳細字段,將詳細字段替換掉*即可。不過這樣寫有缺陷,不知道查詢的是那個表里面的。
53:外連接:外連接包含左連接和右連接,如下(可以查詢一個表的所有信息)
54:左連接查詢:(可以查詢出表名1 的所有記錄,而表名2中只能查出匹配的記錄)
左連接別名查詢,以后開發可能會經常這樣使用,起別名,可以省去AS。
55:右連接查詢:(可以查詢出表名2 的所有記錄,而表名1中只能查出匹配的記錄);右連接別名查詢省去沒寫,請自行腦補。
56:多條件查詢,其實就是后面使用AND連接一下,進行多條件查詢即可。
57:子查詢
58:帶IN關鍵字的子查詢
一個查詢語句的條件可能落在另一個SELECT語句的查詢結果中
(帶NOT IN關鍵字的子查詢)
59:帶有比較運算符的子查詢
子查詢可以使用比較運算符
60:帶有EXISTS關鍵字的子查詢
假如子查詢查詢到記錄,其實就是判斷一下內層為ture,則進行外層查詢,如果為false,不執行外層查詢
帶有NOT EXISTS關鍵字的子查詢
61:帶ANY關鍵字的子查詢
ANY關鍵字表示滿足其中任一條件
62:帶ALL關鍵字的子查詢
ALL關鍵字表示滿足所有條件
63:合并查詢結果
64:UNION , 使用UNION關鍵字是,數據庫系統會將所有的查詢合并到一起,然后去除掉相同的記錄
65:UNION ALL ,使用UNION ALL,不會去除掉系統重復的記錄
66:索引引入
索引定義:索引是由數據庫表中一列或者多列組合而成,其作用是提高對表中數據的查詢速度,類似于圖書的目錄,方便快速定位,尋找指定的內容
索引的優缺點:
優點:提高查詢數據的速度
缺點:創建和維護索引的時間增加了。
67:索引分為普通索引
這類索引可以創建在任何數據類型中
68:唯一索引
使用UNIQUE參數可以設置,在創建唯一索引時,限制該索引的值必須時唯一的
(唯一索引,起別名,在index后面加上自己取的別名即可。)
69:全文索引(由于不支持,咱不演示)
使用FULLTEXT參數可以設置,全文索引只能創建在CHAR,VARCHAR,TEXT類型的字段上。主要作用就是提高查詢較大字符串類型的速度,只有MYISAM引擎支持該索引,mysql默認引擎不支持
70:單列索引(上面寫的兩種都是單列索引,不多敘述)
在表中可以給單個字段創建索引,單列索引可以時普通索引,也可以是唯一索引,還可以時全文索引
71:多列索引
多列索引在表的多個字段上創建一個索引
72:空間索引(由于不支持,咱不演示)
使用spatial參數可以設置空間索引,空間索引只能創建在空間數據類型上,這樣可以提高系統獲取空間數據的效率,只有MYISAM引擎支持該索引,mysql默認引擎不支持
(上面是在創建數據表的時候創建索引,下面介紹一下在已存在的表上創建索引)
73:在已經創建好的數據表上面創建索引如下圖所示
(在已經創建好的數據表上面創建唯一索引如下圖所示)
(在已經創建好的數據表上面創建多列索引如下圖所示)
74:使用ALTER TABLE來創建索引
(使用ALTER TABLE來創建唯一索引)
(使用ALTER TABLE來創建多列索引)
75:刪除索引
76:視圖的引入
1:視圖是一種虛擬的表,是從數據庫中一個或者多個表中導出來的表
2:數據庫中只存放了視圖的定義,而沒有存放視圖中的數據,這些數據存放在原來的表中
3:使用視圖查詢數據時,數據庫系統會從原來的表中取出對應的數據
77:視圖的作用
1:使操作簡便化
2:增加數據的安全性
3:提高表的邏輯獨立性
78:創建視圖
(然后使用創建的視圖進行查詢即可查詢出數據表里面的內容)
(上面創建的視圖然后進行查詢好像意義不大,下面創建視圖v2,然后對數據表里面的部分內容進行查詢,增加安全性)
(然后使用創建的視圖進行查詢即可查詢出數據表里面的內容)
(也可以利用視圖修改名字,如下圖)
(然后使用創建的視圖進行查詢即可查詢出數據表里面的內容)
79:多表視圖的創建
(然后使用創建的視圖進行查詢即可查詢出數據表里面的內容)
80:查看視圖的基本信息
81:查看視圖的基本信息,對比顯示出視圖是一個虛表
82:查看視圖的詳細信息
83:CREATE修改視圖,如果視圖不存在則創建,如果存在則修改
(然后使用修改后的視圖進行查詢即可查詢出數據表里面的內容)
84:ALTER修改視圖。
(然后使用修改后的視圖進行查詢即可查詢出數據表里面的內容)
85:更新視圖
更新視圖是指通過視圖來插入(INSERT),更新(UPDATE),刪除(DELETE)表中的數據,因為視圖是一個虛擬的表,其中沒有數據。通過視圖更新時,都是轉換基本表更新。更新視圖時,只能更新權限范圍內的數據,超出了范圍,就不能更新
插入(INSERT),
更新(UPDATE),
刪除(DELETE)
86:刪除視圖
刪除視圖是指刪除數據庫中的已經存在的視圖,刪除視圖時,只能刪除視圖的定義,不會刪除數據;(視圖是虛表)
87:觸發器(TRIGGER)的引入
觸發器是由事件來觸發某個操作,這些事件包括INSERT語句,UPDATE語句,DELETE語句。當數據庫系統執行這些事件時,就會激活觸發器執行相應的操作
88:創建與使用觸發器
創建只有一個執行語句的觸發器
(過度變量new或者old,就是剛剛插入的那條數據,具體的一條數據。)
(然后執行插入語句,可以在圖形化工具中快速看到插入數據后,另一個表發生了變化)
(創建多個執行語句的觸發器)
(然后執行刪除語句,可以在圖形化工具中快速看到插入數據后,另兩個表發生了變化)
89:查看觸發器
90:刪除觸發器
對于以上關于MySql基本操作及開發經常使用到哪些,大家是不是覺得非常有幫助。如果需要了解更多內容,請繼續關注我們的行業資訊,相信你會喜歡上這些內容的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。