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学习总结----表的操作的主要内容,如果未能解决你的问题,请参考以下文章