天天看點

mysql 學習

參考: http://www.runoob.com/mysql/mysql-tutorial.html

安裝

laragon

更換mysql root 密碼

MySQL 建立資料表

CREATE TABLE table_name (column_name column_type);
           

MySQL 删除資料表

DROP TABLE table_name ;
           

MySQL 插入資料:

INSERT INTO 表 ( 字段名1, 字段名2,...字段名N )
                       VALUES
                       ( 值1, 值2,...值N );
           

讀取資料表:

select * from runoob_tbl;
           

MySQL 查詢資料:

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]
           

MySQL WHERE 子句

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
           

MySQL UPDATE 查詢

UPDATE table_name SET field1=new-value1, field2=new-value2
[WHERE Clause]
           

MySQL DELETE 語句

DELETE FROM table_name [WHERE Clause]
           

MySQL LIKE...%模糊比對

SELECT field1,field2,... fieldN ,field2 ,... fieldN
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 ='somevalue'[ AND [ OR ]] filed2 = 'somevalue' 
           

其中LIKE子句使用百分号 %字元來表示任意字元,類似于UNIX或正規表達式中的星号 *。查詢含condition1的所有記錄。例如: "runoob_author = 'RUNOOB.COM'"中的COM

mysql> SELECT * from runoob_tbl  WHERE runoob_author LIKE '%COM';
           

MySQL UNION 操作符-連接配接兩個以上的 SELECT 語句

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];
           

MySQL 排序-ORDER BY子句

SELECT * from runoob_tbl ORDER BY submission_date ASC;
           

MySQL GROUP BY 語句

将資料表按名字進行分組,并統計每個人有多少條記錄

mysql> SELECT name, COUNT(*) FROM   employee_tbl GROUP BY name;
           

Mysql 連接配接的使用-JOIN 在兩個或多個表中查詢資料

SELECT...FROM 表1 INNER JOIN 表2 ON 條件;
           

MySQL NULL 值處理

因為NULL 值與任何其它值的比較(即使是 NULL)永遠傳回 false,即 NULL = NULL 傳回false 。

為了處理這種情況,MySQL提供了三大運算符:

  • IS NULL: 當列的值是 NULL,此運算符傳回 true。
  • IS NOT NULL: 當列的值不為 NULL, 運算符傳回 true。
  • <=>: 比較操作符(不同于=運算符),當比較的的兩個值為 NULL 時傳回 true。

    示例:

SELECT * from runoob_test_tbl WHERE runoob_count IS NOT NULL;
           

MySQL 正規表達式-REGEXP 操作符

mysql 學習
mysql> SELECT name FROM person_tbl WHERE name REGEXP '^st';
           

MySQL 事務

在 MySQL 中隻有使用了 Innodb 資料庫引擎的資料庫或表才支援事務。

事務處理可以用來維護資料庫的完整性,保證成批的 SQL 語句要麼全部執行,要麼全部不執行。

事務用來管理 insert,update,delete 語句

MYSQL 事務處理主要有兩種方法:

1、用 BEGIN, ROLLBACK, COMMIT來實作

  • BEGIN 開始一個事務
  • ROLLBACK 事務復原
  • COMMIT 事務确認

2、直接用 SET 來改變 MySQL 的自動送出模式:

  • SET AUTOCOMMIT=0 禁止自動送出
  • SET AUTOCOMMIT=1 開啟自動送出

MySQL ALTER指令-修改資料表名或者修改資料表字段

使用了 ALTER 指令及 DROP 子句來删除以上建立表的 i 字段:

mysql> ALTER TABLE testalter_tbl  DROP i;
           

ADD 子句來向資料表中添加列,如下執行個體在表 testalter_tbl 中添加 i 字段,并定義資料類型

mysql> ALTER TABLE testalter_tbl ADD i INT; 
           

把字段 c 的類型從 CHAR(1) 改為 CHAR(10):modify

mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
           

修改表名: rename

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
           

MySQL 中繼資料

擷取伺服器中繼資料

SELECT VERSION( ) 伺服器版本資訊

SELECT DATABASE( ) 目前資料庫名 (或者傳回空)

SELECT USER( ) 目前使用者名

SHOW STATUS 伺服器狀态

SHOW VARIABLES 伺服器配置變量

上一篇: web8
下一篇: 各種繞過