一、表的定义:
- 表是存储数据的文件
- 创建表之后会在
/var/lib/mysql/库
目录下生成表名.frm
和表名.ibd
二个文件,前者存的是表头信息,后者存的是数据记录
二、语法格式:
创建表:
CREATE TABLE 库名.表名(
表头名1 数据类型,
表头名2 数据类型,
...
);查看表头:
DESC 库名.表名;
删除表:
DROP TABLE 库名.表名;
修改表:
ALTER TABLE 库名.表名 操作命令;
- 操作命令:
add添加新表头
:... 库名.表名add
表头名 数据类型 位置命令;
drop删除表头
:... 库名.表名drop
表头名1,drop
表头名2...;
modify修改表头数据类型
:... 库名.表名modify
表头名 数据类型;
modify修改表头的位置
:... 库名.表名modify
表头名 数据类型 位置命令;
change修改表头名
:... 库名.表名change
原表头名 新表头名 数据类型;
rename修改表名
:... 库名.原表名rename
库名.新表名;- 位置命令:
first
:把表头添加首位
after
:添加在指定表头名的下方(after
表头名)复制表:
- 复制表头及表数据:
CREATE TABLE 库名.表名 SELECT 字段名 FROM 库名.表名;- 仅仅复制表头不复制表数据:
CREATE TABLE 库名.表名 LIKE 库名.表名;
三、使用示例:
- 修改表头数据类型
# Alter table 库.表名 modify 表头名 数据类型 ;
mysql> alter table studb.stuinfo modify mail varchar(50);
mysql> desc studb.stuinfo;
+--------+-------------+------+-----+-------------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+-------------+-------+
| number | char(9) | YES | | NULL | |
| name | char(10) | YES | | NULL | |
| school | char(10) | YES | | NULL | |
| class | char(9) | YES | | NULL | |
| gender | char(4) | YES | | NULL | |
| mail | varchar(50) | YES | |NULL | |
+--------+-------------+------+-----+-------------+-------+
- 删除多个表头
mysql> alter table studb.stuinfo drop school,drop 班级,drop mail;
- 复制表(拷贝已有的表 和系统命令 cp 的功能一样 )
- 表头和数据都复制
# create table 库名.表名 select * from 库名.表名;
# 拷贝 tarena库下的user表到 studb库里 表名不变
mysql> create table studb.user select * from tarena.user;
mysql> show tables;
+-----------------+
| Tables_in_studb |
+-----------------+
| stuinfo |
| user |
+-----------------+
# 查看数据
mysql> select * from studb.user;
- 仅仅复制表头命令
# 仅仅复制tarena.user的表头到studb.user2
mysql> create table studb.user2 like tarena.user;
mysql> show tables;
+-----------------+
| Tables_in_studb |
+-----------------+
| stuinfo |
| user |
| user2 |
+-----------------+
3 rows in set (0.00 sec)
# 查询无数据
mysql> select * from studb.user2;
Empty set (0.00 sec)
# 查询表头信息
mysql> desc studb.user2;
+----------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | char(20) | YES | | NULL | |
| password | char(1) | YES | | NULL | |
| uid | int(11) | YES | | NULL | |
| gid | int(11) | YES | | NULL | |
| comment | varchar(50) | YES | | NULL | |
| homedir | varchar(80) | YES | | NULL | |
| shell | char(30) | YES | | NULL | |
+----------+-------------+------+-----+---------+----------------+
8 rows in set (0.00 sec)
网友评论