1. 程式人生 > >Mysql 常用數據庫操作

Mysql 常用數據庫操作

bstr 文本 ora rename 正則表達 特殊字符 ESS db_name 檢測

一、數據庫操作: 

  1、查看數據庫:

    >SHOW DATABASES;

  2、創建數據庫:

    >CREATE DATABASE db_name;  //db_name為數據庫名

  3、使用數據庫:

    >USE db_name;

  4、刪除數據庫:

    >DROP DATABASE db_name;

二、創建表:

  1、創建表:

    >CREATE TABLE table_name(

    >id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT,    //id值,無符號、非空、遞增——唯一性,可做主鍵。設置為auto_increment 之後 設定索引

    >name VARCHAR(60) NOT NULL

    >score TINYINT UNSIGNED NOT NULL DEFAULT 0,    //設置默認列值

    >PRIMARY KEY(id)

    >)ENGINE=InnoDB    //設置表的存儲引擎,一般常用InnoDB和MyISAM;InnoDB可靠,支持事務;MyISAM高效不支持全文檢索

    >DEFAULT charset=utf8;  //設置默認的編碼,防止數據庫中文亂碼

    如果有條件的創建數據表還可以使用 >CREATE TABLE IF NOT EXISTS tb_name

(........

  2、復制表:

    >CREATE TABLE tb_name2 SELECT * FROM tb_name;

    或者部分復制:

    >CREATE TABLE tb_name2 SELECT id,name FROM tb_name;

  3、創建臨時表:

    >CREATE TEMPORARY TABLE tb_name(這裏和創建普通表一樣);

  4、查看數據庫中可用的表:

    >SHOW TABLES;

  5、查看表的結構:

    >DESCRIBE tb_name;

    也可以使用:

    >SHOW COLUMNS in tb_name;     //from也可以

  6、刪除表:

    >DROP [ TEMPORARY ] TABLE [ IF EXISTS ] tb_name[ ,tb_name2.......];

    實例:

    >DROP TABLE IF EXISTS tb_name;

  7、表重命名:

    >RENAME TABLE name_old TO name_new;

    還可以使用:

    >ALTER TABLE name_old RENAME to name_new;

三、修改表:

  1、更改表結構:

    >ALTER TABLE tb_name ADD[CHANGE,RENAME,DROP] ...要更改的內容...

    實例:

    >ALTER TABLE tb_name ADD COLUMN address varchar(80) NOT NULL;

    >ALTER TABLE tb_name DROP address;

    >ALTER TABLE tb_name CHANGE score score SMALLINT(4) NOT NULL;

四、插入數據:

  1、插入數據:

    >INSERT INTO tb_name(id,name,score)VALUES(NULL,‘張三‘,140),(NULL,‘張四‘,178),(NULL,‘張五‘,134);

    這裏的插入多條數據直接在後邊加上逗號,直接寫入插入的數據即可;主鍵id是自增的列,可以不用寫。

  2、插入檢索出來的數據:

    >INSERT INTO tb_name(name,score) SELECT name,score FROM tb_name2;

五、更新數據:

  1、指定更新數據:

    >UPDATE tb_name SET score=189 WHERE id=2;

    >UPDATE tablename SET columnName=NewValue [ WHERE condition ]

六、刪除數據:

  1、刪除數據:

    >DELETE FROM tb_name WHERE id=3;

七、條件控制:

  1、WHERE 語句:

    >SELECT * FROM tb_name WHERE id=3;

  2、HAVING 語句:

    >SELECT * FROM tb_name GROUP BY score HAVING count(*)>2

  3、相關條件控制符:

    =、>、<、<>、IN(1,2,3......)、BETWEEN a AND b、NOT

    AND 、OR

    Linke()用法中 % 為匹配任意、 _ 匹配一個字符(可以是漢字)

    IS NULL 空值檢測

八、MySQL的正則表達式:

  1、Mysql支持REGEXP的正則表達式:

    >SELECT * FROM tb_name WHERE name REGEXP ‘^[A-D]‘ //找出以A-D 為開頭的name

  2、特殊字符需要轉義。

九、MySQL的一些函數:

  1、字符串鏈接——CONCAT()

    >SELECT CONCAT(name,‘=>‘,score) FROM tb_name

  2、數學函數:

    AVG、SUM、MAX、MIN、COUNT;

  3、文本處理函數:

    TRIM、LOCATE、UPPER、LOWER、SUBSTRING

  4、運算符:

    +、-、*、\

  5、時間函數:

    DATE()、CURTIME()、DAY()、YEAR()、NOW().....

十、分組查詢:

  1、分組查詢可以按照指定的列進行分組:

    >SELECT COUNT(*) FROM tb_name GROUP BY score HAVING COUNT(*)>1;

  2、條件使用Having;

  3、ORDER BY 排序:

    ORDER BY DESC|ASC    =>按數據的降序和升序排列

Mysql 常用數據庫操作