1. 程式人生 > >MySQL資料庫基本操作(DDL)

MySQL資料庫基本操作(DDL)

1.mysql -hlocalhost -uroot -p123   登陸

2.show databases;   檢視資料庫資訊

3.use XXX;    使用XXX資料庫

4.show tables;   檢視資料表

5.如何通過命令更改使用者資訊

use mysql;

select * from user\G; 檢視資訊

update user set password=password(新密碼) where user='root';

flush prvileges;  重新整理許可權資訊

6.exit;退出

7.?尋求幫助

建立資料庫  create database [if not exists] 資料庫名

;

刪除資料庫 dorp database [if exists] 資料庫名;

查詢資料庫 show databases;

使用資料庫 use 資料庫名;

#註釋

8.字串型別

    char[0~255]儲存    varchar[0~65535]儲存姓名等    text[0~2^16-1]儲存檔案 文字

9.日期型別

    DATETIME

10.資料欄位屬性

   unsigned 無符號的(非負數)     zerofill  不足位數用0來填充     auto_increment  自動增長  設定主鍵  唯一區分不同的

個體  如所有人的省份證號碼都不一樣  自增列預設初始值1 步長

1  (改變初始值影響當前表,改變步長影響全域性 所有表)

11.nullnot null

   設定可不可以為空

12.default  設定預設值

13.建立表

   create table if not exists 表名(列名  型別   屬性   索引   註釋,列名  型別   屬性   索引   註釋,列名  型別   

屬性   索引   註釋)[表型別引擎][表字符集utf8][註釋]

 #同一個列可以被多個屬性同時修飾

   例如#建立Student表(學號、登陸密碼、姓名、性別、生日、家庭住址、郵箱)

   CREATE TABLE [IF NOT EXISTS] student(

   id INT(4) PRIMARY KEY AUTO_INCREMENT COMMENT'主鍵,學號',

   pwd VARCHAR(20) DEFAULT '123465',

   name VARCHAR(30) DEFAULT'匿名'NOT NULL,

   sex VARCHAR(2) NOT NULL DEFAULT '',

   birthday DATETIME,

   address VARCHAR(100),

   email VARCHAR(50)

)AUTO_INCREMENT=100;#設定預設初始值為100,自增步長為5SET @@auto_increment_increment=5;

14.檢視資料庫的定義

  SHOW CREATE DATABASE school;

  檢視資料表

  SHOW CREATE TABLE student;

  顯示資料表的結構

  DESC student;

  檢視mysql所支援的引擎型別(表型別)

  SHOW ENGINES;

  檢視預設引擎

  SHOW VARIABLES LIKE 'storage_engine';

15.#建立一個測試表

     #設定嚴格檢查模式  SET sql_mode='strict_trans_tables';

  CREATE TABLE test(coll INT(4) ZEROFILL NOT NULL

)

16.修改表

   修改表名 ALTER TABLE 舊錶名  RENAME AS  新表名

   新增欄位 ALTER TABLE 表名 ADD 欄位名 列型別[屬性]

   修改欄位 ALTER TABLE MODIFY 欄位名  (改變屬性值)

            ALTER TABLE CHANGE 舊欄位名 新欄位名 列型別[屬性]

   刪除欄位 ALTER TABLE 表名 DROP 欄位名

   刪除表  DROP TABLE IF EXISTS 表名;

17.主鍵 PRIMARY KEY

   外來鍵 CONSTRAINT FK_外來鍵約束名 FOREIGN KEY(外來鍵名) REFERENCES 主鍵表名(主鍵欄位名)

   主鍵和外來鍵名字可以一樣  也可以不一樣  但是資料型別必須一樣

  1、建立子表的同時建立外來鍵

  2、建立子表完畢後,修改子表新增外來鍵

  ALTER TABLE 子表名

  ADD CONSTRAINT FK_外來鍵約束名 FOREIGN KEY(外來鍵名) REFERENCES 主鍵表名(主鍵欄位名)

  3、刪除表

   #刪除具有主外來鍵關係的表時,要先刪子表,後刪主表。

  4、刪除外來鍵

   ALTER TABLE 子表名 DROP FOREIGN KEY FK_外來鍵約束名

   ALTER TABLE 子表名 DROP INDEX KE_外來鍵約束名

17.DML資料操作語言

   1、新增資料 INSERT 命令

     語法:INSERT INTO 表名 (列名) VALUES();INSERT INTO 表名 (列名1,列名2,列名3...) VALUES(1,值2,值3...);

    錯誤碼 1136 列的數量和值的數量不匹配

    INSERT INTO 表名 (列名) VALUES(1),(2),(3),(4)...;  #多個數值一起插入

    注意:欄位或值之間用英文逗號隔開;"欄位1,欄位2..."該部分可省略,但新增的值務必於表結構資料列順序相對應,且數量一致;

可同時插入多條資料,values後用英文逗號隔開。

2、修改資料UPDATE命令

語法:

UPDATE 表名 SET column_name=value[column_name1=value1,column_name2=value2,...]

[WHERE CONDITION];

注意:column_name為要更改的資料列,value為修改後的資料,可以為變數、具體值、表示式或者巢狀的SELECT結果,condition為篩選條件,如不指定則修改該表的所有列資料。

運算子

含義

範例

結果

=

等於

5=6

false

<>!=

不等於

5!=6

true

>

大於

5>6

false

<

小於

5<6

true

>=

大於等於

5>=6

false

<=

小於等於

5<=6

true

BETWEEN

在某個範圍之間

BETWEEN 5 AND 10

——

AND

並且

5>1 AND 1>2

false

OR

5>1 OR 1>2

true

也可以使用函式

UPDATE 表名 SET 欄位名=CONCAT(“欄位名前面追加的字串”,欄位名);

3、刪除資料DELETE命令

DELETE FROM 表名 [WHERE CONDITION];

CONDITION為篩選條件,如果不指定則刪除該表的所有資料。