1. 程式人生 > >MySQL<數據庫和表的基本操作>

MySQL<數據庫和表的基本操作>

字段值 提高 主鍵約束 dex pri 表示 span 整數 describe

數據庫和表的基本操作

數據庫基礎知識

創建數據庫

  就是在數據庫系統中劃分一塊存儲數據的空間

  CREATE DATABASE itcast;

查看數據庫

  SHOW CREATE DATABASE 數據庫名稱;

修改數據庫

  ALTER DATABASE 數據庫名稱 DEFAULT CHARACTER SET 編碼方式 COLLATE 編碼方式_bin;

刪除數據庫

  DROP DATABASE 數據庫名稱;

數據類型

  整數類型

  浮點數類型和定點數類型

  日期與時間類型

  字符串和二進制類型

數據表的基本操作

創建數據表

查看數據表

  show create table 表名\G;

  describe 表名;

修改數據表

  修改表名

    alter table 舊表名 rename [to] 新表名;

  修改字段值

    alter table表名 change 舊字段名 新字段名 新數據類型;

  修改字段的數據類型

    alter table 表名 modify 字段名 數據類型;

  添加字段

    alter table 表名 add 新字段名 數據類型[約束條件][first|after已存在字段名];

    “FIRST” 是可選參數,用於將新添加的字段設置為表的第一個字段。

    “AFTER”是可選參數,用於將新添加的字段添加到指定的“已存在字段名”的後面。

  刪除字段

    alter table 表名 drop 字段名;

  修改字段的排序位置

    alter table 表名 modify 字段名1 數據類型 first|after 字段名2;

刪除數據表

  drop table 表名;

表的約束

  主鍵約束(primary key)

    唯一標識表中的記錄

    字段名 數據類型 primary key

    primary key(字段名1,字段名2,...)

  外鍵約束(foreign key)

  非空約束(not null)

    字段的值不能為NULL

    字段名 數據類型 not null;

  唯一約束(unique)

    保證數據表中字段的唯一性,即表中字段的值不能重復出現

    字段名 數據類型 unique

  默認約束(default)

    字段名 數據類型 default 默認值

設置表的字段值自動增加

  為表中插入的新記錄自動生成唯一的ID

  字段名 數據類型 auto_increment

索引

索引的概念

  好比新華字典的音序表,它是對數據庫表中一列或多列的值進行排序後的一種結構,其作用就是提高表中數據的查詢速度。

  6種索引

    普遍索引是由KEY或INDEX定義的索引,它是MySQL中的基本索引類型,可以創建在任何數據類型中,其值是否唯一和非空由字段本身的約束條件所決定。

    唯一性索引是由UNIQUE定義的索引,該索引所在字段的值必須是唯一的。

    全文索引是由FULLTEXT定義的索引,它只能創建在CHAR、VARCHAR或TEXT類型的字段上,而且,現在只有MyISAM存儲引擎支持全文索引。

    單列索引指的是在表中單個字段上創建索引,它可以是普通索引、唯一索引或者全文索引,只要保證該索引只對應表中一個字段即可。

    多列索引指的是在表中多個字段上創建索引,只有在查詢條件中使用了這些字段中的第一個字段時,該索引才會被使用。

    空間索引是由SPATIAL定義的索引,它只能創建在空間數據類型的字段上。

創建索引

  1、創建表的時候創建索引

    CREATE TABLE 表名(字段名 數據類型[完整性約束條件],

字段名 數據類型[完整性約束條件],

......

      字段名 數據類型

      UNIQUE|FULLTEXT|SPATIAL] INDEX|KEY

[別名] (字段名1 [(長度)]) [ASC|DESC])

  );

    UNIQUE:可選參數,表示唯一索引

    FULLTEXT:可選參數,表示全文索引

    SPATIAL:可選參數,表示空間索引

    INDEX和KEY:用來表示字段的索引,二者選一即可

    ASC和DESC:可選參數,ASC表示升序排列,DESC表示降序排列

    別名:可選參數,表示創建的索引的名稱

    字段名1:指定索引對應字段的名稱

    長度:可選參數,用於表示索引的長度

  2、使用CREATE INDEX 語句在已經存在的表上創建索引

    CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX 索引名

    ON 表名 (字段名 [(長度)] [ASC|DESC]);

  3、使用ALTER TABLE語句在已經存在表上創建索引

    ALTER TABLE 表名 ADD [UNIQUE|FULLTEXT|SPATIAL] INDEX

  索引名 (字段名 [(長度)] [ASC|DESC])

刪除索引

  1、使用ALTER TABLE刪除索引

    ALTER TABLE 表名 DROP INDEX 字段名

  2、使用DROP INDEX刪除索引

    DROP INDEX 索引名 ON 表名;

MySQL<數據庫和表的基本操作>