用20分鐘掌握MySQL增刪改查常用語句
安裝mysql資料庫後第一步就是開啟資料庫建立表格;進行增刪改查操作,掌握常用的SQL語句操作是非常有必要的,mysql資料庫有許多方便操作的可檢視形化軟體,而小編用的正是sqlyog這款圖形化介面操作軟體
mysql修改類操作語句
SQL語句不區分大小寫,語句以” ; “結束;可以單獨執行部分的sql語句.
SHOW TABLES; (顯示本資料庫中所有的table表格 )
建立表格操作
create table 表名(
sid INT PRIMARY KEY auto_increment,
(主鍵列 自動增長屬性)
)
DESC USERS;
DROP TABLE CLASS (刪除class表格)
注意:刪除後不可恢復 ,刪除操作需要謹慎
ALTER TABLE CLASSNAME CHANGE TEL NEWTEL DOUBLE
(將classname表中tel 改成newtel列 double為屬性)
ALTER TABLE CLASSNAME ADD TEST VARCHAR(20)
(在表classname新增一列test 屬性為varchar 20為字元限制)
ALTER TABLE CLASSNAME MODIFY TEL VARCHAR(50)
(修改表格tel列屬性)
ALTER TABLE CLASSNAME DROP TEST
(刪除表classname中的test列)
RENAME TABLE CLASSNAME TO NEWCLASS
(修改表格名 表名classname改成newclass)
ALTER TABLE category CHARACTER SET gbk;
( 為分類表 category 的編碼表進行修改,修改成 gbk)
插入表格操作:
INSERT INTO 表名(列名,列名)VALUE(值,值);
(這裡主鍵列pid可以不輸入,自動新增)
第二種插入方法:
INSERT INTO player VALUE(4,’韋德’,’熱火’,’後衛’);
還可以多資料新增
INSERT INTO player VALUE
(4,’韋德’,’熱火’,’後衛’),(5,’哈登’,’火箭’ ,’後衛’);
修改更新列操作:
UPDATE player SET pname = ‘保羅’,phost=’火箭’,major =’控衛’WHERE pid =5;
(將主鍵列pid=5 的列所對應的值進行修改)
例如在這裡我將 詹姆斯 歐文 杜蘭特的位置全部改成小前鋒操作語句如下:
UPDATE player SET major =’小前鋒’WHERE pid<=3;
再將歐文的位置改為控衛
UPDATE player SET major=’控衛’WHERE pid=2;
注意:在sql語句中 不等於表示為 pid<>2 在java語言中為!=
哈哈 是不是很簡單?
UPDATE player SET hight =2.06 WHERE pid =1 OR pid =3;
(將杜蘭特和詹姆斯的身高寫為2.06)
接下來我們把其他球星的身高也補上 看如下操作語句
UPDATE player SET hight =1.98 WHERE pid IN(2,4,5,6)
DELETE FROM player WHERE pid =2;
(將pid=2這一行資料全部刪除)
面試題:
刪除表中所有記錄使用delete from 表名; 還是用truncate table 表名;
刪除方式:delete 一條一條刪除,不清空auto_increment記錄數。
truncate 直接將表刪除,重新建表,auto_increment將置為零,從新開始。
解決dos命令視窗查詢資料表中文亂碼問題;
dos命令視窗預設編碼表為gbk,而sql預設編碼為utf-8 ,將sql編碼設定為gbk即可 在命令列裡輸入 set names gbk; 即可
sql查詢操作語句:
SELECT pname,phost FROM player;
(只看panme phost列)
看效果直接上圖
SELECT * FROM player
(檢視整個表的全部內容)
SELECT DISTINCT phost FROM player
(檢視去除重複值後的列)
SELECT pname AS ‘名字’ FROM player
(查詢重新命名的列,但不改變原來的名字)
SELECT pname,年薪+50000 FROM player
(在原有的數值基礎上進行數值操作後查詢)
查詢前
查詢後 看結果上圖~
還有一種優化寫法
SELECT pname,年薪+500 AS ‘加薪後’ FROM player
效果不多說 直接上圖
SELECT pname,年薪+500 AS ‘加薪後’ FROM player
(查詢指定列的內容)
SELECT * FROM player WHERE hight >=2.00
(查詢出身高大於2米的球星)
SELECT * FROM player WHERE hight>1.9 AND hight<2.0
(查詢出身高大於1.9 且小於2.0的球星)
上圖看效果
這種操作還有一種優化語句操作
SELECT * FROM player WHERE hight BETWEEN 1.9 AND 2.0
兩種操作語句的執行效果是相同的
SELECT * FROM player WHERE hight IN (1.83,1.98)
(查詢出身高是1.83 和 1.98 的球星)
還有一種操作 模糊查詢操作 like關鍵字
SELECT * FROM player WHERE major LIKE ‘%衛%’;
(查詢出 major 列中 內容包含” 衛” 的資料)
SELECT * FROM player WHERE pname LIKE ‘__’
(查詢出指定列中只有兩個字元的資料)
一個下劃線符號代表一個字元
SELECT * FROM player WHERE pname IS NOT NULL
SELECT * FROM player WHERE NOT ( pname IS NULL)
(查詢出指定列不為空的列)
sql排序操作語句:
SELECT * FROM player ORDER BY 年薪 ASC
(查詢按照年薪的升序排列)
SELECT * FROM player ORDER BY 年薪 ASC
(年薪降序排序)
SELECT COUNT(*) AS ‘count’ FROM player
(統計出有多少條資料)
SELECT SUM(年薪) FROM player
(將年薪列進行求和)
SELECT MAX(年薪) FROM player
(求最大值)
SELECT AVG(年薪) FROM player
(求平均值)
還有最後一個sql操作,將相同類的資料進行分組查詢操作
SELECT SUM(年薪) AS ‘getsum’ ,phost FROM player
GROUP BY phost ORDER BY getsum
(將相同phost的不同資料進行分組操作)
看圖瞭解一下
MySQL常用操作語句差不多都演示完畢,如果覺得有所收穫可以關注小柴,小編不斷更新分享自己學習中的乾貨.
加油,年輕人就要不怕失敗,因為我們輸得起!