文章目录

  • 1.表的操作
    • 1.1创建表
    • 1.2创建表案例
    • 1.3查看表结构
    • 1.4修改表
    • 1.5删除表

1.表的操作

1.1创建表

语法:

CREATE TABLE table_name(filed1 datatype,filed2 datatype,filed3 datatype
)character set 字符集 collate 校验规则 engine 存储引擎;

说明:

  • field 表示列名
  • datatype 表示列的类型
  • character set字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

1.2创建表案例

Create Table:
CREATE TABLE `users` (`id` int(11) DEFAULT NULL,`name` varchar(20) DEFAULT NULL COMMENT '用户名',`password` char(32) DEFAULT NULL COMMENT '密码',`birthday` date DEFAULT NULL COMMENT '生日'
) ENGINE=MyISAM DEFAULT CHARSET=utf8

说明:

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

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

    • users.frm:表结构
    • users.MYD:表数据
    • users.MYI:表索引

备注:创建一个engine是innodb的数据库,观察存储目录

1.3查看表结构

desc 表名;

示例:

mysql> desc users;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int(11)     | YES  |     | NULL    |       |
| name     | varchar(20) | YES  |     | NULL    |       |
| password | char(32)    | YES  |     | NULL    |       |
| birthday | date        | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

【图1.3-1】

1.4修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。

语法:

ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...);
ALTER TABLE tablename MODIFY(column datatype [DEFAULT expr][,column datatype]...);
ALTER TABLE tablename DROP(column);

案例:

  • 在users表添加两条记录用于后期测试
insert into users values(1,'张三','1234','2000-10-1'),(2,'李四','4321','1999-7-1');
mysql> select * from users;
+------+--------+----------+------------+
| id   | name   | password | birthday   |
+------+--------+----------+------------+
|    1 | 张三   | 1234     | 2000-10-01 |
|    2 | 李四   | 4321     | 1999-07-01 |
+------+--------+----------+------------+
2 rows in set (0.01 sec)
  • 在users表添加一个字段,用于保存图片路径
mysql> alter table users add image_path varchar(60) comment '图片路径' after birthday;
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  Warnings: 0mysql> desc users;
+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| id         | int(11)     | YES  |     | NULL    |       |
| name       | varchar(20) | YES  |     | NULL    |       |
| password   | char(32)    | YES  |     | NULL    |       |
| birthday   | date        | YES  |     | NULL    |       |
| image_path | varchar(60) | YES  |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

插入新字段后,对原来表中的数据没有影响:

mysql> select * from users;
+------+--------+----------+------------+------------+
| id   | name   | password | birthday   | image_path |
+------+--------+----------+------------+------------+
|    1 | 张三   | 1234     | 2000-10-01 | NULL       |
|    2 | 李四   | 4321     | 1999-07-01 | NULL       |
+------+--------+----------+------------+------------+
2 rows in set (0.00 sec)

查看users表创建语句

mysql> show create table users \G
*************************** 1. row ***************************Table: users
Create Table: CREATE TABLE `users` (`id` int(11) DEFAULT NULL,`name` varchar(20) DEFAULT NULL COMMENT '用户名',`password` char(32) DEFAULT NULL COMMENT '密码',`birthday` date DEFAULT NULL COMMENT '生日',`image_path` varchar(60) DEFAULT NULL COMMENT '图片路径'
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.00 sec)
  • 修改name,讲其长度该成60
mysql> alter table users modify name varchar(60);
Query OK, 2 rows affected (0.03 sec)
Records: 2  Duplicates: 0  Warnings: 0
mysql> desc users;
+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| id         | int(11)     | YES  |     | NULL    |       |
| name       | varchar(60) | YES  |     | NULL    |       |
| password   | char(32)    | YES  |     | NULL    |       |
| birthday   | date        | YES  |     | NULL    |       |
| image_path | varchar(60) | YES  |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+
5 rows in set (0.01 sec)
mysql> show create table users \G
*************************** 1. row ***************************Table: users
Create Table: CREATE TABLE `users` (`id` int(11) DEFAULT NULL,`name` varchar(60) DEFAULT NULL,`password` char(32) DEFAULT NULL COMMENT '密码',`birthday` date DEFAULT NULL COMMENT '生日',`image_path` varchar(60) DEFAULT NULL COMMENT '图片路径'
) ENGINE=MyISAM DEFAULT CHARSET=utf8
1 row in set (0.01 sec)
  • 删除password列

注意:删除字段一定要小心,删除字段及其对应的列数据都没了

mysql> alter table users drop password;
Query OK, 2 rows affected (0.03 sec)
Records: 2  Duplicates: 0  Warnings: 0mysql> desc users;
+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| id         | int(11)     | YES  |     | NULL    |       |
| name       | varchar(60) | YES  |     | NULL    |       |
| birthday   | date        | YES  |     | NULL    |       |
| image_path | varchar(60) | YES  |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)mysql> select * from users;
+------+--------+------------+------------+
| id   | name   | birthday   | image_path |
+------+--------+------------+------------+
|    1 | 张三   | 2000-10-01 | NULL       |
|    2 | 李四   | 1999-07-01 | NULL       |
+------+--------+------------+------------+
2 rows in set (0.00 sec)
  • 修改表名为employee
mysql> alter table users rename to employee;
Query OK, 0 rows affected (0.01 sec)mysql> show tables;
+-----------------+
| Tables_in_test2 |
+-----------------+
| employee        |
| person          |
+-----------------+
2 rows in set (0.00 sec)

to:可以省略 alter table users rename employee;

  • 将name列修改成xingming
mysql> alter table users change name xingming varchar(60); -- 新字段需要完整定义
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0mysql> desc users;
+------------+-------------+------+-----+---------+-------+
| Field      | Type        | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| id         | int(11)     | YES  |     | NULL    |       |
| xingming   | varchar(60) | YES  |     | NULL    |       |
| birthday   | date        | YES  |     | NULL    |       |
| image_path | varchar(60) | YES  |     | NULL    |       |
+------------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

1.5删除表

语法格式:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [,tbl_name]...

示例:

drop table t1;

mysql> show tables;
+-----------------+
| Tables_in_test2 |
+-----------------+
| person          |
| t1              |
| users           |
+-----------------+
3 rows in set (0.01 sec)mysql> drop table t1;
Query OK, 0 rows affected (0.12 sec)mysql> show tables;
+-----------------+
| Tables_in_test2 |
+-----------------+
| person          |
| users           |
+-----------------+
2 rows in set (0.00 sec)

注:请谨慎删除

(本篇完)

【MySQL--03】表的操作相关推荐

  1. 如何删除mysql数据库里的表_删除mysql数据表如何操作

    MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失. 语法 以下为删除MySQL数据表的通用语法: DROP TABLE table_na ...

  2. Mysql数据表的操作

    表的操作 前提:选择数据库 语法: use 数据库名; 1.创建数据表 语法: create table 表名( 字段1 字段类型 [附加属性], 字段2 字段类型 [附加属性], 字段3 字段类型 ...

  3. Mysql数据库表复制操作语句

    MySQL复制表结构和内容到另一张表中的SQL语句 1.复制表结构及数据到新表 复制代码代码如下: CREATE TABLE 新表 SELECT * FROM 旧表 2.只复制表结构到新表 复制代码代 ...

  4. mysql多表删除操作_MySQL多表删除的实现

    MySQL多表删除应该如何实现呢?这是不少人都提到过的问题.下面就为您介绍MySQL多表删除的实现方法,供您参考学习. 1.从数据表t1中把那些id值在数据表t2里有匹配的记录全删除掉 DELETE ...

  5. mysql修改表前缀操作步骤

    1.检查mysql导出配置: show variables like '%secure%'; 2.配置secure_file_priv;如果该项已设置则忽略: 打开mysql配置文件my.ini,加入 ...

  6. mysql数据表关联操作步骤_MySQL数据库(三)—— 表相关操作(二)之约束条件、关联关系、复制表...

    表相关操作(二)之约束条件.关联关系.复制表 一.约束条件 1.何为约束 除了数据类型以外额外添加的约束 2.约束条件的作用 为了保证数据的合法性,完整性 3.主要的约束条件 NOT NULL #标识 ...

  7. 湖北专升本MySQL复习(MySQL数据库实用教程)——MySQL数据表的操作

    表是数据库中存储的基本对象,是存储数据的容器,一个完整的表由表结构和表数据两部分组成. 表结构的设计 1.1创建数据表 例:创建学生信息表 create table 学生信息( 学号 char(10) ...

  8. MySQL数据库-表的操作第四章作业

    ## 作业 ```mysql 一.单表查询 素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等 CREATE TABLE `worker` (  `部门号` i ...

  9. ##MySql数据库表的操作与应用

    #新建数据库 CREATE DATABASE school; #查看数据库 SHOW DATABASES; #查看当前新建数据库 SHOW CREATE DATABASE school; #换库 US ...

  10. Mysql基础--表的操作

    1.表的基本概念 每一行代表一条唯一的记录,每一列代表记录中的一个字段. 2.创建表 例子: 3.查看表结构 (1)DESCRIBE语句查看表定义 语法: 例子: (2)SHOW CREATE TAB ...

最新文章

  1. yolov3的缺点_YOLOv3:训练自己的数据(附优化与问题总结)
  2. Qt pro工程文件中判断宏定义是否存在
  3. crontab 每分钟一次_Celery实现定时任务crontab
  4. 简单shell:删除五日之前的日志文件
  5. python图像识别代码_用Python进行简单图像识别(验证码)
  6. 省份城市区县三级联动html代码,基于Jquery实现省份、城市、区县三级联动
  7. LiveCDLiveUSB制作
  8. 用JavaScript实现网页无限轮播图效果,附整套源码
  9. ionic 之 获取验证码
  10. 刚接触Cisco认证:CCNA学习经验
  11. 如何证明一个问题是NP-Hard或NP-Complete?
  12. HWSD土壤数据库介绍
  13. 数学建模——人口预测模型
  14. MDR的进阶版本-GMDR
  15. 计算机开机错误怎么办,电脑开机蓝屏错误代码0X0000007E怎么办?
  16. 你所不知道的NVMe SSD固态硬盘读写速度及国货的惊喜--基于FPGA的速度测试
  17. [技术讨论]网络软件开发的bug分析与公司开发管理问题之阿里篇
  18. 2023AB斗篷玩法全攻略
  19. 工业平板电脑选择需要注意的地方
  20. XCTF final noxss

热门文章

  1. 以太网网卡的结构和工作原理
  2. 百度音频文件转写正式上线商用
  3. Python语言的动态性:运行时动态绑定,删除属性和方法
  4. 获取portal服务器信息超时,Portal认证提示“向设备发送请求超时”问题分析
  5. 最小生成树————普利姆和克鲁斯卡尔
  6. 英语口语234之每日十句口语
  7. 【SQL】经典50题 [ 3 ]:Q31-Q50
  8. 3步破解windows7 登陆密码
  9. Echarts南丁格尔图.
  10. 应广单片机芯片PMS132B -SOP8/SOP14/SOP16