MySql数据库·表管理

源代码 2024-9-30 07:16:23 107 0 来自 中国
一、表的定义:


  • 表是存储数据的文件
  • 创建表之后会在/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.user2mysql> 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)
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 16:52, Processed in 0.154257 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表