明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

MySQL 圖文詳細(xì)教程之SQL表的基本設(shè)置

[摘要]本篇文章主要給大家介紹SQL的基本操作及表操作,希望對需要的朋友有所幫助!推薦參考教程:《SQL教程》SQL 基本操作基本操作:CURD,即增刪改查。根據(jù)操作對象的不同,咱們可以將 SQL 的基本操...
本篇文章主要給大家介紹SQL的基本操作及表操作,希望對需要的朋友有所幫助!

推薦參考教程:《SQL教程

SQL 基本操作

基本操作:CURD,即增刪改查。

根據(jù)操作對象的不同,咱們可以將 SQL 的基本操作分為三類,分別為:庫操作、表(字段)操作和數(shù)據(jù)操作。

表操作

1 新增表

基本語法:

create table [if not exists] + 表名(
    字段名稱 數(shù)據(jù)類型,
    ……
    字段名稱 數(shù)據(jù)類型   /* 最后后一行,不需要加逗號 */
)[表選項(xiàng)];

其中,if not exists表示

  • 如果表名不存在,就執(zhí)行創(chuàng)建代碼;如果表名存在,則不執(zhí)行創(chuàng)建代碼。

表選項(xiàng)則是用來控制表的表現(xiàn)形式的,共有三種,分別為:

  • 字符集設(shè)定:charset/ character set+ 具體字符集,用來表示數(shù)據(jù)存儲的編碼格式,常用的字符集包括GBKUTF8等。

  • 校對集設(shè)定:collate+ 具體校對集,表示數(shù)據(jù)比較的規(guī)則,其依賴字符集。

  • 存儲引擎:engine+具體存儲引擎,默認(rèn)為InnoDB,常用的還有MyISAM.

由于任何表都?xì)w屬于某個數(shù)據(jù)庫,因此在創(chuàng)建表的時候,都必須先指定具體的數(shù)據(jù)庫。在這里,指定數(shù)據(jù)庫的方式有兩種,分別為:

  • 第 1 種:顯式的指定表所屬的數(shù)據(jù)庫,示例

create table if not exists test.student(
    name varchar(10),
    age int,            /* 整型不需要指定具體的長度 */
    grade varchar(10)   /* 最后后一行,不需要加逗號 */
)charset utf8;
  • 第 2 種:隱式的指定表所屬的數(shù)據(jù)庫,示例

use test;               /* use + 數(shù)據(jù)庫名稱,表示切換到指定的數(shù)據(jù)庫,這句命令其實(shí)不加分號也可以,但不建議這么做 */create table if not exists student(
    name varchar(10),
    age int,            /* 整型不需要指定具體的長度 */
    grade varchar(10)   /* 最后后一行,不需要加逗號 */
)charset utf8;

2 查詢表

查看全部 –> 基本語法:show tables;

查看部分(模糊查詢)–> 基本語法:show tables like 'pattern';

其中,pattern是匹配模式,有兩種,分別為:

  • %:表示匹配多個字符;

  • _:表示匹配單個字符。

此外,在匹配含有下劃線_的表名的時候,需要在下劃線前面加上反斜線\_進(jìn)行轉(zhuǎn)義操作。

示例:show tables like '%t';表示匹配所有以t結(jié)尾的表。

查看表的創(chuàng)建語句 –> 基本語法:show create table + 表名;

在這里,咱們也可以用\g\G代替上述語句中的;分號,其中\g等價于分號,\G則在等價于分號的同時,將查的表結(jié)構(gòu)旋轉(zhuǎn)90度,變成縱向結(jié)構(gòu)。

查看表中的字段信息 –> 基本語法:desc/describe/show columns from + 表名;

3 更新表

在這里,需要注意:表的修改,分為修改表本身和修改表中的字段。

  • 第 1 類:修改表本身

    • 修改表名,基本語法:rename table 舊表名 to 新表名;

    • 修改表選項(xiàng),基本語法:alter table + 表名 + 表選項(xiàng)[=] + 值;

  • 第 2 類:修改表中的字段,新增、修改、重命名和刪除

    • 示例:alter table student drop age;

    • 注意:如果表中已經(jīng)存在數(shù)據(jù),那么刪除該字段會清空該字段的所有數(shù)據(jù),而且不可逆,慎用。

    • 其中,位置表示此字段存儲的位置,分為first(第一個位置)after + 字段名(指定的字段后,默認(rèn)為最后一個位置).

    • 示例:alter table student change grade class varchar(10);

    • 其中,位置表示此字段存儲的位置,分為first(第一個位置)after + 字段名(指定的字段后,默認(rèn)為最后一個位置).

    • 示例:alter table student modify name char(10) after id;

    • 其中,位置表示此字段存儲的位置,分為first(第一個位置)after + 字段名(指定的字段后,默認(rèn)為最后一個位置).

    • 示例:alter table student add column id int first;

    • 新增字段,基本語法:alter table + 表名 + add + [column] + 字段名 + 數(shù)據(jù)類型 + [列屬性][位置];

    • 修改字段,基本語法:alter table + 表名 + modify + 字段名 + 數(shù)據(jù)類型 + [列屬性][位置];

    • 重命名字段,基本語法:alter table + 表名 + change + 舊字段名 + 新字段名 + 數(shù)據(jù)類型 + [列屬性][位置];

    • 刪除字段,基本語法:alter table + 表名 + drop+ 字段名;

4 刪除表

基本語法:

/** 可以一次刪除多張表 */drop table + 表1, 表2 ... ;

在這里,需要注意:此刪除為不可逆操作,希望大家謹(jǐn)慎使用。

溫馨提示:符號[]括起來的內(nèi)容,表示可選項(xiàng);符號+,則表示連接的意思。

以上就是MySQL 教程之SQL表的基本操作的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識。