1. 程式人生 > >數據庫和表操作

數據庫和表操作

隔離 into 特點 數值類型 ces http 單選 速查 size

一.庫操作

1.創建庫

  create database 庫名[charset utf8];  創建庫[字符集為utf8] 默認為utf8

2.查看庫

  show databases;  查看所有庫

  show create database 庫名;  查看某個庫的創建信息

  select database();  查看當前操作的數據庫名

3.刪除庫

  drop database 庫名;  刪除某個庫

4.修改庫

  alter database 庫名 charset utf8;  修改庫的字符集為utf8

二.mysql的存儲引擎

1.innoDB引擎

  特點:1.支持事務

     2.行級鎖定

     3.讀寫阻塞與事務隔離級別有關

     4.高效緩存(索引和數據)

     5.支持外鍵約束

2.MyISAM引擎

  特點:1.不支持事務

     2.表級鎖定

     3.讀寫互相阻塞

     4.只能緩存索引

     5.不支持外鍵約束

三.SQL的數據類型

1.數值類型

技術分享圖片

2.日期類型

  year  YYYY

  data  YYYY-mm-dd

  time  HH:MM:SS

  datatime  YY-mm-dd HH:MM:SS

  timestamp  YYmmdd HHMMSS

3.字符串類型

  char  定長字符串

  varchar  不定長字符串

4.枚舉和集合類型

  enum("a","b","c")  單選

  eg :

    create table shirts(name char(20) , size enum("xxl","xl");

    insert into shirts(name,size) values ("dress shirt","xxl"),("T-shirt,"xl");

  set("a","b","c")  多選

  eg:

    create table myset (col set("a","b","c","d"));

    insert into myset (col) values("a,b"),("a","b","c")

四.完整性約束

1.空和默認值

  not null  不能為空,如果不約束默認為能為空

  default  默認值

2.唯一,可以加速查詢

  unique  約束字段名必須唯一

  unique(字段名1,字段名2)  聯合唯一

3.主鍵

  primary key  主鍵,不能為空且唯一,一張表必須有且只有一個主鍵

  primary key(字段名1,字段名2)  聯合主鍵

4.自動增長(用於主鍵)

  auto_increment  約束字段為自動增長

5.外鍵

  foreign key   外鍵,標明表和表之間的關系

  foreign key (字段名) references 表名(字段名) [on update cascade on delete cascade]

五.表操作

1.創建表

  create table 表名(字段名1,類型[(寬度) 約束條件],

          字段名2,類型[(寬度) 約束條件]);

2.查看表結構

  describe 表名;    查看表結構

  show create table 表名\G;  查看表詳細結構

3.修改表 alter table

  1.修改表名

    alter table 表名  rename 新表名

  2.增加字段

    alter table 表名  add 字段名 類型[(寬度) 約束條件 位置];

  3.刪除字段

    alter table 表名  drop 字段名;

  4.修改字段

    alter table 表名  modify 字段名 類型 [約束條件];

    alter table 表名  change 舊字段名 新字段名 舊數據類型 [約束條件];  可以想改就改

  5.增加外鍵

    alter table 表名  add foreign key (字段名) references 表名(字段名);

  6.增加主鍵[自動增長]

    alter table 表名  modify 字段名 類型 primary key [auto_increment];

數據庫和表操作