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

<3>-MySQL表的操作

目录

一,创建表

二,查看表结构

三,修改表

四,删除表


一,创建表

语法:

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

说明:

field 表示列名

datatype 表示列的类型

character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准

collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

engine 存储引擎,不同的存储引擎,创建表的文件不一样。

案例:

mysql> create table if not exists `users`(-> id int,-> name varchar(20) comment '名字',-> password varchar(20) comment '密码',-> birthday date comment '生日'-> )character set utf8 collate utf8_general_ci engine MyISAM;
Query OK, 0 rows affected (0.00 sec)[root@iZwz9eoohx59fs5a6ampomZ mysql]# tree db1
db1
├── db.opt
├── person.frm
├── person.ibd
├── users.frm
├── users.MYD
└── users.MYI

说明:

users 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:

users.frm:表结构

users.MYD:表数据

users.MYI:表索引

二,查看表结构

代码:desc 表名

mysql> desc users;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | YES  |     | NULL    |       |
| name     | varchar(20) | YES  |     | NULL    |       |
| password | varchar(20) | YES  |     | NULL    |       |
| birthday | date        | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+

说明:

Field 字段名字

Type 字段类型

Null 是否允许为空

Key 索引类型

Default 默认值

Extra 扩充

三,修改表

我们要修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型, 表的存储引,比如添加字段,删除字段,修改字段名等等。这时要用修改表的语句。

// 添加字段
alter table users add 新列名;
// 修改字段长度
alter table users modify 新列名 新类型(长度);
// 删除字段
alter table users drop 删除列名;
// 修改字段名字
alter table users change 原列名 新列名 新类型(长度);
// 修改表名字
alter table 原表名 rename 新表名;

在users表,添加一个字段image

mysql> alter table users add image varchar(128) after birthday;
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0mysql> desc users;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | int(11)      | YES  |     | NULL    |       |
| name     | varchar(20)  | YES  |     | NULL    |       |
| password | varchar(20)  | YES  |     | NULL    |       |
| birthday | date         | YES  |     | NULL    |       |
| image    | varchar(128) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+

在users表,修改password字段长度为32

mysql> alter table users modify password varchar(32);
Query OK, 3 rows affected (0.01 sec)
Records: 3  Duplicates: 0  Warnings: 0mysql> desc users;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id       | int(11)      | YES  |     | NULL    |       |
| name     | varchar(20)  | YES  |     | NULL    |       |
| password | varchar(32)  | YES  |     | NULL    |       |
| birthday | date         | YES  |     | NULL    |       |
| image    | varchar(128) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+

在users表,删除id列

mysql> alter table users drop id;
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0mysql> desc users;
+----------+--------------+------+-----+---------+-------+
| Field    | Type         | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| name     | varchar(20)  | YES  |     | NULL    |       |
| password | varchar(32)  | YES  |     | NULL    |       |
| birthday | date         | YES  |     | NULL    |       |
| image    | varchar(128) | YES  |     | NULL    |       |
+----------+--------------+------+-----+---------+-------+

把image列名,修改为path

mysql> alter table users change image path varchar(64);
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0mysql> select * from users;
+--------+----------+------------+------+
| name   | password | birthday   | path |
+--------+----------+------------+------+
| 张三   | 4321     | 2000-11-23 | NULL |
| 张三   | 4321     | 2000-11-23 | NULL |
| 李四   | 5678     | 1987-06-05 | NULL |
+--------+----------+------------+------+

把users表名,修改为user_set

mysql> alter table users rename user_set;
Query OK, 0 rows affected (0.00 sec)mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| person        |
| user_set      |
+---------------+

四,删除表

代码:drop table 表名;

mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| person        |
| user_set      |
+---------------+
2 rows in set (0.00 sec)mysql> drop table user_set;
Query OK, 0 rows affected (0.00 sec)mysql> show tables;
+---------------+
| Tables_in_db1 |
+---------------+
| person        |
+---------------+
1 row in set (0.00 sec)
http://www.xdnf.cn/news/12764.html

相关文章:

  • Java多线程从入门到精通
  • UML活动图与泳道图
  • Chainlink Automation 深度解析与实战
  • MySQL从入门到DBA深度学习指南
  • 如何基于CMake构建STM32、GD32等MCU开发环境?
  • java bean的生命周期
  • Linux驱动学习day3
  • springboot3.x对接AI智谱清言
  • LLMs 系列科普文(10)
  • 2025-06-08-深度学习网络介绍(语义分割,实例分割,目标检测)
  • c++ std::pair
  • 树莓派超全系列教程文档--(58)通过网络启动树莓派
  • 正弦积分函数——分析傅里叶级数在间断点的行为——吉布斯现象
  • 大型语言模型(LLM)面试问题集
  • 75Qt窗口_Qt窗口概览
  • 发送文件脚本源码版本
  • 使用vs2022中自带的sqlserver,并在docker中安装mssql-server 并配置相关信息
  • 《前端面试题:JavaScript 作用域深度解析》
  • NumPy数组访问
  • 【JavaSE】绘图与事件入门学习笔记
  • leetcode Top100 238. 除自身以外数组的乘积|数组系列
  • 批量修改文件夹名 修改文件夹名
  • Spring Cloud Alibaba Seata安装+微服务实战
  • 【第九篇】 SpringBoot测试补充篇
  • Zustand 第二章(状态处理)
  • 【设计模式】2.策略模式
  • 【网站建设】不同类型网站如何选择服务器?建站项目实战总结
  • AI智能体|扣子(Coze)搭建【公众号对标文章采集拆解】工作流
  • DeepSeek11-Ollama + Open WebUI 搭建本地 RAG 知识库全流程指南
  • windows10下搭建nfs服务器