当前位置: 首页 > news >正文

表相关操作

表介绍

表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有对应的标题,称为表的字段

id name sex age
1 cy male 25
2 ziy female 24

id,name,sex,age称为字段,其余的,一行内容称为一条记录

创建表

# 语法:
create table 表名(
字段名1 类型[(宽度) 约束条件],
字段名2 类型[(宽度) 约束条件],
字段名3 类型[(宽度) 约束条件]
);
# 注意:
1. 在同一张表中,字段名是不能相同
2. 宽度和约束条件可选
3. 字段名和类型是必须的
# 创建数据库db1
mysql> create database db1 charset utf8;
# 切换到db1数据库
mysql> use db1
Database changed
# 新建表t1
mysql> create table db1.t1(id int,name varchar(50),sex enum('male','female'),age int(3));
Query OK, 0 rows affected (0.03 sec)
# 查看db1库下所有表名
mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| t1            |
+---------------+
# 查看t1的表结构
mysql> desc t1;
+-------+-----------------------+------+-----+---------+-------+
| Field | Type                  | Null | Key | Default | Extra |
+-------+-----------------------+------+-----+---------+-------+
| id    | int(11)               | YES  |     | NULL    |       |
| name  | varchar(50)           | YES  |     | NULL    |       |
| sex   | enum('male','female') | YES  |     | NULL    |       |
| age   | int(3)                | YES  |     | NULL    |       |
+-------+-----------------------+------+-----+---------+-------+
# 查看t1的表结构(表格格式内容过长会显示混乱)
mysql> show create table t1;
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                     |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t1    | CREATE TABLE `t1` (`id` int(11) DEFAULT NULL,`name` varchar(50) DEFAULT NULL,`sex` enum('male','female') DEFAULT NULL,`age` int(3) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
# 查看t1的表结构(\G)(关键部分)将结果以垂直格式显示,而不是传统的表格格式
*************************** 1. row ***************************Table: t1
Create Table: CREATE TABLE `t1` (`id` int(11) DEFAULT NULL,`name` varchar(50) DEFAULT NULL,`sex` enum('male','female') DEFAULT NULL,`age` int(3) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

获取t1 表中的内容

# 获取id,name,sex,age列内容
mysql> select id,name,sex,age from t1;
Empty set (0.00 sec)  # 没有数据
# 获取所有列内容
mysql> select * from t1;
Empty set (0.00 sec)
# 获取id,name列内容
mysql> select id,name from t1;
Empty set (0.00 sec)

往表中插入数据

mysql> insert into t1 values-> (1,'cy','male',25),-> (2,'ziy','female',24)-> ;mysql> select * from t1;
+------+------+--------+------+
| id   | name | sex    | age  |
+------+------+--------+------+
|    1 | cy   | male   |   25 |
|    2 | ziy  | female |   24 |
+------+------+--------+------+
2 rows in set (0.00 sec)# INSERT INTO t1(id):向表 t1 的 id 列插入数据
# VALUES (3), (4):插入两行数据,第一行 id=3,第二行 id=4
mysql> insert into t1(id) values-> (3),-> (4);
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  Warnings: 0mysql> select * from t1;
+------+------+--------+------+
| id   | name | sex    | age  |
+------+------+--------+------+
|    1 | cy   | male   |   25 |
|    2 | ziy  | female |   24 |
|    3 | NULL | NULL   | NULL |
|    4 | NULL | NULL   | NULL |
+------+------+--------+------+
4 rows in set (0.00 sec)

注意注意注意:表中的最后一个字段不要加逗号

查看表结构

mysql> describe t1;  # 查看表结构,可简写为desc 表名
+-------+-----------------------+------+-----+---------+-------+
| Field | Type                  | Null | Key | Default | Extra |
+-------+-----------------------+------+-----+---------+-------+
| id    | int(11)               | YES  |     | NULL    |       |
| name  | varchar(50)           | YES  |     | NULL    |       |
| sex   | enum('male','female') | YES  |     | NULL    |       |
| age   | int(3)                | YES  |     | NULL    |       |
+-------+-----------------------+------+-----+---------+-------+
mysql> show create table t1;  # 查看t1的表结构(表格格式内容过长会显示混乱)
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                     |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t1    | CREATE TABLE `t1` (`id` int(11) DEFAULT NULL,`name` varchar(50) DEFAULT NULL,`sex` enum('male','female') DEFAULT NULL,`age` int(3) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
# 查看t1的表结构(\G)(关键部分)将结果以垂直格式显示,而不是传统的表格格式
mysql> show create table t1\G;
*************************** 1. row ***************************Table: t1
Create Table: CREATE TABLE `t1` (`id` int(11) DEFAULT NULL,`name` varchar(50) DEFAULT NULL,`sex` enum('male','female') DEFAULT NULL,`age` int(3) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

语法

1.修改表名

ALTER TABLE 表名 RENAME 新表名;
mysql> alter table t1 rename t2;

2.增加字段

ALTER TABLE 表名ADD 字段名  数据类型 [完整性约束条件…],ADD 字段名  数据类型 [完整性约束条件…];
ALTER TABLE 表名ADD 字段名  数据类型 [完整性约束条件…]  FIRST;
ALTER TABLE 表名ADD 字段名  数据类型 [完整性约束条件…]  AFTER 字段名;

3.删除字段

ALTER TABLE 表名 DROP 字段名;

4.修改字段

ALTER TABLE 表名 MODIFY  字段名 数据类型 [完整性约束条件…];
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 旧数据类型 [完整性约束条件…];
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型 [完整性约束条件…];

复制表

# 复制表结构+记录 (key不会复制: 主键、外键和索引)
mysql> create table new_service select * from service;# 只复制表结构
mysql> select * from service where 1=2;        # //条件为假,查不到任何记录
Empty set (0.00 sec)
mysql> create table new1_service select * from service where 1=2;  
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0
# 只复制表结构 like
mysql> create table t4 like employees;

删除表

drop table 表名;
http://www.gsyq.cn/news/42262.html

相关文章:

  • 部分页面统计用户访问时长
  • 单词故事
  • ai学习机哪个品牌好?松鼠 AI 双线矩阵:学习机 + 自习室,提分更高效
  • 招聘实习生丨加入我们,共建 RTE 开发者社区
  • 引领未来,智启新程:Compete MIS平台——低代码时代的全能信息化管理解决方案
  • 2025.11.06 - A
  • CF2085D Serval and Kaitenzushi Buffet
  • startctf环境变量注入及强网拟态smallcode特殊解法
  • NOIP模拟赛20251106 T4 CF1270H
  • 详细介绍:电阻的分类与应用
  • wepoc Nuclei 漏洞扫描器图形界面工具
  • 团队第一次作业
  • Tomassi计算机
  • 2025年上海防水补漏TOP5最新评测:从屋顶到地下室,全场景解决
  • 线段树维护区间历史信息和为例的复杂信息维护同标记下传设计技巧简记
  • 每日总结(三)
  • 飞牛nas播放卡顿的解决方案
  • 25.11.6联考题解
  • 2025/11/3 ~ 2025/11/9 做题笔记 - sb
  • 利用Google Dork挖掘敏感文件setup.sh的技术解析
  • 2025.11.6~?
  • golang面经——内存相关模块 - 详解
  • QOJ4795 Taxi
  • 蓝牙耳机怎么连接电脑?【图文详解】蓝牙耳机连接电脑?蓝牙耳机能连接电脑吗?USB蓝牙适配器? - 详解
  • AI浪潮下的就业迷思:技术迭代还是泡沫破灭?
  • Spring BeanFactory 接口
  • 备考笔记8
  • CF2122D Traffic Lights
  • 《代码大全 2》观后感(五):注释 —— 代码与 “未来” 的对话
  • 库相关的操作