1. 程式人生 > >MySQL常用語句

MySQL常用語句

多表查詢 購物 字符串 記錄 left emp 之前 個數 regexp

1、MySQL數據庫的安裝 數據庫,主要用於數據的存放 2、MySQL規範 sql語句可單行或多行書寫,以分號結尾 語句為大寫,變量名為小寫 3、MySQL數據庫的操作 創建——CREATE DATABASE db_name; 查看——SHOW DATABASES; 修改數據庫的字符串格式——ALTER DATABASE db_name character set utf8; 刪除數據庫——DROP DATABASE db_name; 使用/切換數據庫——USE db_name; 4、數據表的增刪改查 創建一個員工表 CREATE TABLE employee( id INT PRIMARY KEY auto_increment, name VARCHAR(20), resume TEXT); 約束:primary key(非空且唯一);主鍵能夠區分當前記錄的字段 unique 唯一 not null 不為空 auto_increment 用於主鍵字段,必須是數字類型 查看表的信息
DESC tab_name ——查看表結構 SHOW TABLES——查看當前數據庫所有的表 修改表的結構 1、增加列(字段) ALTER TABLE tab_name ADD 列名 類型 約束條件 [first | after 字段名]; 2、修改列類型 ALTER TABLE tab_name MODIFY 列名類型約束; 3、修改列名 ALTER TABLE tab_name CHANGE 列名 新列名 類型約束; 4、刪除一列 ALTER TABLE tab_name DROP 列名; 5、修改表名 RENAME TABLE 表名 to 新表名; 6、修改表所用的字符集 ALTER TABLE student CHARACTER SET utf8; 7、刪除表 DROP TABLE tab_name; 對數據表的操作
增加插入數據——INSERT tab_name (field1....) VALUES (value1.....); 修改表記錄——UPDATE tab_name SET field1=value1,......也可以加WHERE語句 刪除表記錄——DELETE FROM tab_name 也可以加WHERE語句 使用TRUNCATE刪除表記錄——TRUNCATE TABLE tab_name 查詢記錄表(重點) 查看數據表信息——SELECT *FROM 表名 查詢語法——FROM tab_name WHERE 條件 GROUP BY feild HAVING 篩選 LIMIT 限制條數 使用WHERE語句,進行過濾查詢 SELECT * FROM tab_name WHERE name=‘yuan‘; 比較運算符: > < >= <= != between 80 and 100 值在10到20之間 in(80,90,100) 值是10或20或30 like ‘yuan%‘ 以yuan開頭的字符串 邏輯運算符: 在多個條件直接可以使用邏輯運算符 and or not ORDER BY 排序 SELECT * FROM tab_name ORDER BY field DESC|ASC; ASC為默認——從小到大,DESC——從大到小 GROUP BY分組查詢 對購物車按類名分組後顯示每一組商品價格總和超過150的商品 SELECT class,SUM(price) FROM order_menu GROUP BY class HAVING SUM(price)>150; having 和 where兩者都可以對查詢結果進行進一步的過濾,差別有: <1>where語句只能用在分組之前的篩選,having可以用在分組之後的篩選; <2>使用where語句的地方都可以用having進行替換 <3>having中可以用聚合函數,where中就不行。 聚合函數 COUNT(列名):統計行的個數 SUM(列名):統計滿足條件的內容和 AVG(列名):求平均數 MAX、MIN:求最高分和最低分 LIMIT記錄條數限制 SELECT * from ExamResult limit 1; SELECT * from ExamResult limit 2,5; -- 跳過前兩條顯示接下來的五條紀錄 SELECT * from ExamResult limit 2,2; 正則表達式 SELECT * FROM employee WHERE emp_name REGEXP ‘^yu‘; SELECT * FROM employee WHERE emp_name REGEXP ‘yun$‘; SELECT * FROM employee WHERE emp_name REGEXP ‘m{2}‘; 外鍵約束 FOREIGN KEY (charger_id) REFERENCES charge(id) 增加外鍵和刪除外鍵 ALTER TABLE student ADD CONSTRAINT abc FOREIGN KEY(charger_id) REFERENCES classcharger(id); ALTER TABLE student DROP FOREIGN KEY abc; 多表查詢 內連接 select * from employee inner join department on employee.dept_id = department.dept_id; 左外連接:在內連接的基礎上增加左邊有右邊沒有的結果 select * from employee left join department on employee.dept_id = department.dept_id; 右外連接:在內連接的基礎上增加右邊有左邊沒有的結果 select * from employee right join department on employee.dept_id = department.dept_id; DISTINCT——去重

MySQL常用語句