MySQL学习总结----表的操作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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学习总结----表的操作的主要内容,如果未能解决你的问题,请参考以下文章

mysql视图学习总结(转)

[转]mysql视图学习总结

Java学习总结(十五)——MySQL数据库(上)—增,删,改与部分查询语句

mysql高级内容学习总结

mysql高级内容学习总结

数据结构学习笔记:顺序表的删除操作及其演化题目总结