MySQL 基本使用


 

數據庫:

CREATE DATABASE 名字;              //創建數據庫

SHOW DATABASES;                //查看所有數據庫

SHOW CREATE DATABASE book\G;        //查看創建好的數據庫的定義

DROP DATABASE IF EXISTS 名字;         //刪除數據庫

USE 名字;                     //使用數據庫

 

引擎:

 

SHOW ENGINES;                      //查看引擎

 

SHOW VARIABLES LIKE 'storage_engine';     //查看默認引擎

 

數據表:                   【使用前需要USE 數據庫名;】 表名不區分大小寫

 

CREATE TABLE SS(id INT(11),nam VARCHAR(25)salary FLOAT);      //創建數據表

 

SHOW TABLES;                       //查看數據表

 

DESC SS;                           //查看表的結構

 

SHOW COLUMNS FROM 表名 FROM 庫名;                       //查看表的結構2

 

SHOW CREATE TABLE 表名\G;              //查看表的結構3

 

ALTER TABLE 舊名 RENAME 新名;              //修改表名

 

ALTER TABLE 表名 MODIFY 字段名 數據類型;             //修改字段的數據類型

 

ALTER TABLE 表名 CHANGE 舊字段名 新字段名 新數據類型;             //修改字段名

 

ALTER TABLE 表名 ADD 新字段名 數據類型;             //添加字段

 

ALTER TABLE 表名 ADD 新字段名 數據類型(約束條件) [FIRST | AFTER 已存在字段名]    //添加字段   放到第一個  或者已存在字段名之后

 

ALTER TABLE xx ADD yy VARCHAR(12) not null;           //添加有完整性約束條件的字段

 

ALTER TABLE 表名 DROP 字段名;         //刪除字段

 

ALTER TABLE 表名 MODIFY 字段1 數據類型 FIRSE | AFTER 字段2;    //修改字段排列位置   數據類型為字段1的  

 

ALTER TABLE 表名 ENGINE=更改后的引擎名;   //更改表的存儲引擎

 

   #可以為每一張表選不同的存儲引擎  但外鍵約束的表必須一致

 

ALTER TABLE 表名 DROP FOREIGN KEY 外鍵約束名;     //刪除表的外鍵約束

 

 

 

#外鍵約束名,定義表時CONSTRAINT后的參數

 

DROP TABLE IF EXISTS 1,表2....;      //刪除沒有關聯的數據表

 

ALTER TABLE 子表 DROP FOREIGN KEY 子表中的外鍵約束名;     //刪除有關聯的主表

 

#無法直接刪去父表   1.先刪去子,再刪父     2.取消外鍵約束,再刪父表

 

刪除

DELETE FROM 表名 WHERE 條件;

DELETE FROM 表名;                    //刪除所有記錄

TRUNCATE TABLE 表名;                   //直接刪除表

 DROP TABLE 表名;                    //刪除表

更新

UPDATE 表名

SET 指定更新字段名1=更新值1,指定更新字段名2=更新值2

WHERE  條件;

舉例:

插入

INSERT INTO 要插入數據的表名 (要插入數據的哪些列) VALUES (每個列對應插入的數據);

 

上方

id,name,age,info) 即要插入數據的列       可以省略

但是,需要為表的每一個字段指定值 且值的順序和數據表中字段的定義時順序相同

 

同時插入多條記錄時,會返回一些信息:

將查詢結果插入到表中:

INSERT INTO 表名1  (列名2)

SELECT (列名2) FROM 表名2 WHERE (條件)

MYSQL不關心返回的列名

根據列的位置進行插入

第一列對應插入表的第一列……

 

為表和字段取別名

表名字 AS 表別名

SELECT  *   FROM fruits AS O,sports AS S

WHERE O.FRUIT_NUM > 0 AND S.sport_num >2;

   2.字段

列名 AS 列別名

SELECT O.FRUIT_NUM AS A , S.sport_num  AS B

 

單表查詢

SELECT * FROM 表名;            //查詢所有字段

SELECT 列名 FROM 表名;        //查詢指定字段          

SELECT 列名1,列名2,。。。。;    //查詢多個指定字段

 

SELECT 列名1,列名2

FROM 表名

WHERE 條件;     //查詢指定記錄

 

SELECT 列名1,列名2

FROM 表名

WHERE 條件 IN (100200);

               

           //查詢滿足指定范圍內的記錄  也可以WHERE 條件 NOT  IN (100200);

 

SELECT 列名1,列名2

FROM 表名

WHERE 條件 BETWEEN 100 AND 200;               //查詢滿足指定范圍內的記錄  也可以WHERE 條件 NOT  BETWEEN 100 AND 200;

 

需要使用通配符進行匹配查找,通過創建查找模式對表中的數據進行比較   ----LIKE

  1. LIKE的字符匹配查詢

SELECT f_id,f_name

FROM  fruits

WHERE f_name LIKE ‘B%’;      //查找所有以b開頭的f_name

                           // % 匹配任意長度的字符,甚至零字符

WHERE f_name LIKE ‘_B’;     //_’ 匹配單個字符

 

  1. 查詢空值

空值不同於0,也不同於空字符串

空值一般表示 數據未知 不適用 稍后添加數據

WHERE f_name IS NULL; 

WHERE f_name NOT IS NULL; 

 

  1. AND的多條件查詢

WHERE f_name=’xx’ AND price>5;

 

  1. OR

WHERE f_name=’xx’ OR price>5;

                                                      AND的優先級高於OR

  1. 查詢結果不重復

SELECT DISTINCT 字段名 FROM 表名;               

 

  1. 對結果排序

SELECT f_name FROM fruits ORDER BY f_name;                   //對指定的列數據排序【字母表順序】

SELECT f_name FROM fruits ORDER BY f_name,f_price;            //多列

多列排序時:首先排序的第一列必須有相同的列值,才會對第二列排序

如果第一列數據中所有值都是唯一的,將不再對第二列進行排序

SELECT f_name FROM fruits ORDER BY f_name DESCf_price ASC;            //ASC升序,默認    DESC降序

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM