1. 程式人生 > >MySQL學習總結----表的操作

MySQL學習總結----表的操作

mysql

MySQL學習總結----表的操作

=================================================================================

一、MySQL中的表

=================================================================================

在MySQL中,表是一種很重要的數據庫對象,是組成數據庫的基本元素,由若幹個字段組成,主要用來實現儲存數據記錄。其中每一行代表一個記錄,每一列代表一個字段。

=================================================================================

二、創建表

=================================================================================

1、創建表的語法形式

create table 表名(

屬性名 數據類型,

屬性名 數據類型,

屬性名 數據類型,

.

.

.

屬性名 數據類型,

)


2、在數據庫doublelinux中創建一個名為doublelinux的表

create table doublelinux(

學號 int,

姓名 varchar(20),

班級 varchar(20)

);


=================================================================================

三、查看表結構

=================================================================================

1、查看表定義

desc 表名

mysql> desc doublelinux;

+-------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| num | int(11) | YES | | NULL | |

| name | varchar(20) | YES | | NULL | |

| class | varchar(20) | YES | | NULL | |

+-------+-------------+------+-----+---------+-------+

3 rows in set (0.00 sec)

2、查看表詳細定義

show create teble 表名


mysql> show create table doublelinux;

+-------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| Table | Create Table |

+-------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

| doublelinux | CREATE TABLE `doublelinux` (

`num` int(11) DEFAULT NULL,

`name` varchar(20) DEFAULT NULL,

`class` varchar(20) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1 |

+-------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

1 row in set (0.00 sec)



=================================================================================

四、修改表

=================================================================================

修改表包括:1) 修改表名、2) 增加字段、3) 修改字段、4) 刪除字段。

一) 修改表名

alter table 舊表名 rename 辛標明

1、將數據庫doublelinux下面的表doublelinux修改為qiuuuu


mysql> alter table doublelinux rename qiuuuu;

Query OK, 0 rows affected (0.04 sec)


2、查看數據庫doublelinux下面所有表

mysql> show tables;

+-----------------------+

| Tables_in_doublelinux |

+-----------------------+

| qiuuuu |

+-----------------------+

1 row in set (0.00 sec)


二) 增加字段

alter table 表名 add 屬性名 屬性類型

在第一個位置增加字段: alter table 表名 add 屬性名 屬性類型 first;

在最後一個位置增加字段:alter table 表名 屬性名 屬性類型 ;

在指定位置增加字段: alter table 表名 屬性名 after 屬性名;

1、在數據庫doublelinux下的表qiuuuu中的第一個位置增加一個字段

mysql> alter table qiuuuu add id int first;

Query OK, 0 rows affected (0.22 sec)

Records: 0 Duplicates: 0 Warnings: 0


mysql> desc qiuuuu;

+-------+-------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id | int(11) | YES | | NULL | |

| num | int(11) | YES | | NULL | |

| name | varchar(20) | YES | | NULL | |

| class | varchar(20) | YES | | NULL | |

+-------+-------------+------+-----+---------+-------+

4 rows in set (0.00 sec)

2、在數據庫doublelinux下的表qiuuuu中的最後一個字段增加一個字段

mysql> alter table qiuuuu add address varchar(100);

Query OK, 0 rows affected (0.22 sec)

Records: 0 Duplicates: 0 Warnings: 0


mysql> desc qiuuuu;

+---------+--------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+---------+--------------+------+-----+---------+-------+

| id | int(11) | YES | | NULL | |

| num | int(11) | YES | | NULL | |

| name | varchar(20) | YES | | NULL | |

| class | varchar(20) | YES | | NULL | |

| address | varchar(100) | YES | | NULL | |

+---------+--------------+------+-----+---------+-------+

5 rows in set (0.00 sec)

3、在數據庫doublelinux下的表qiuuuu中的name字段後面增加一個字段

mysql> alter table qiuuuu add sex char(8) after name;

Query OK, 0 rows affected (0.21 sec)

Records: 0 Duplicates: 0 Warnings: 0


mysql> desc qiuuuu;

+---------+--------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+---------+--------------+------+-----+---------+-------+

| id | int(11) | YES | | NULL | |

| num | int(11) | YES | | NULL | |

| name | varchar(20) | YES | | NULL | |

| sex | char(8) | YES | | NULL | |

| class | varchar(20) | YES | | NULL | |

| address | varchar(100) | YES | | NULL | |

+---------+--------------+------+-----+---------+-------+

6 rows in set (0.00 sec)


三)、修改字段

修改字段包括 1)修改字段數據類型 2)修改字段的名字 3)同時修改名字和屬性

(一) 修改字段數據類型(modify)

alter table 表名 modify 屬性名 數據類型

1、修改數據庫doublelinux下面的表qiuuuu的sex字段的屬性為varchar(20)

mysql> alter table qiuuuu modify sex varchar(20);

Query OK, 0 rows affected (0.23 sec)

Records: 0 Duplicates: 0 Warnings: 0


mysql> desc qiuuuu;

+---------+--------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+---------+--------------+------+-----+---------+-------+

| id | int(11) | YES | | NULL | |

| num | int(11) | YES | | NULL | |

| name | varchar(20) | YES | | NULL | |

| sex | varchar(20) | YES | | NULL | |

| class | varchar(20) | YES | | NULL | |

| address | varchar(100) | YES | | NULL | |

+---------+--------------+------+-----+---------+-------+

6 rows in set (0.00 sec)


(二) 修改字段名字

alter table 表名 change 舊屬性名 新屬性名 舊數據類型

1、將數據庫doublelinux下的表qiuuuu中的sex字段名修改為hehe

mysql> alter table qiuuuu change sex hehe varchar(20);

Query OK, 0 rows affected (0.11 sec)

Records: 0 Duplicates: 0 Warnings: 0


mysql> desc qiuuuu;

+---------+--------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+---------+--------------+------+-----+---------+-------+

| id | int(11) | YES | | NULL | |

| num | int(11) | YES | | NULL | |

| name | varchar(20) | YES | | NULL | |

| hehe | varchar(20) | YES | | NULL | |

| class | varchar(20) | YES | | NULL | |

| address | varchar(100) | YES | | NULL | |

+---------+--------------+------+-----+---------+-------+

6 rows in set (0.00 sec)


(三) 同時修改名字和屬性

alter table 表名 change 舊屬性名 新屬性名 新數據類型

1、將數據庫doublelinux中的表qiuuuu中的hehe字段名修改為sex,並且數據類型為varchar(8)

mysql> alter table qiuuuu change hehe sex varchar(10);

Query OK, 0 rows affected (0.07 sec)

Records: 0 Duplicates: 0 Warnings: 0


mysql> desc qiuuuu;

+---------+--------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+---------+--------------+------+-----+---------+-------+

| id | int(11) | YES | | NULL | |

| num | int(11) | YES | | NULL | |

| name | varchar(20) | YES | | NULL | |

| sex | varchar(10) | YES | | NULL | |

| class | varchar(20) | YES | | NULL | |

| address | varchar(100) | YES | | NULL | |

+---------+--------------+------+-----+---------+-------+

6 rows in set (0.00 sec)


四) 刪除字段

alter table 表名 drop 屬性名

1、刪除數據庫doublelinux下的表qiuuuu中的num字段

mysql> alter table qiuuuu drop num;

Query OK, 0 rows affected (0.10 sec)

Records: 0 Duplicates: 0 Warnings: 0


mysql> desc qiuuuu;

+---------+--------------+------+-----+---------+-------+

| Field | Type | Null | Key | Default | Extra |

+---------+--------------+------+-----+---------+-------+

| id | int(11) | YES | | NULL | |

| name | varchar(20) | YES | | NULL | |

| sex | varchar(10) | YES | | NULL | |

| class | varchar(20) | YES | | NULL | |

| address | varchar(100) | YES | | NULL | |

+---------+--------------+------+-----+---------+-------+

5 rows in set (0.00 sec)




=================================================================================

五、查看表結構

=================================================================================









本文出自 “doublelinux” 博客,謝絕轉載!

MySQL學習總結----表的操作