【MySQL--03】表的操作
文章目录
- 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】表的操作相关推荐
- 如何删除mysql数据库里的表_删除mysql数据表如何操作
MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失. 语法 以下为删除MySQL数据表的通用语法: DROP TABLE table_na ...
- Mysql数据表的操作
表的操作 前提:选择数据库 语法: use 数据库名; 1.创建数据表 语法: create table 表名( 字段1 字段类型 [附加属性], 字段2 字段类型 [附加属性], 字段3 字段类型 ...
- Mysql数据库表复制操作语句
MySQL复制表结构和内容到另一张表中的SQL语句 1.复制表结构及数据到新表 复制代码代码如下: CREATE TABLE 新表 SELECT * FROM 旧表 2.只复制表结构到新表 复制代码代 ...
- mysql多表删除操作_MySQL多表删除的实现
MySQL多表删除应该如何实现呢?这是不少人都提到过的问题.下面就为您介绍MySQL多表删除的实现方法,供您参考学习. 1.从数据表t1中把那些id值在数据表t2里有匹配的记录全删除掉 DELETE ...
- mysql修改表前缀操作步骤
1.检查mysql导出配置: show variables like '%secure%'; 2.配置secure_file_priv;如果该项已设置则忽略: 打开mysql配置文件my.ini,加入 ...
- mysql数据表关联操作步骤_MySQL数据库(三)—— 表相关操作(二)之约束条件、关联关系、复制表...
表相关操作(二)之约束条件.关联关系.复制表 一.约束条件 1.何为约束 除了数据类型以外额外添加的约束 2.约束条件的作用 为了保证数据的合法性,完整性 3.主要的约束条件 NOT NULL #标识 ...
- 湖北专升本MySQL复习(MySQL数据库实用教程)——MySQL数据表的操作
表是数据库中存储的基本对象,是存储数据的容器,一个完整的表由表结构和表数据两部分组成. 表结构的设计 1.1创建数据表 例:创建学生信息表 create table 学生信息( 学号 char(10) ...
- MySQL数据库-表的操作第四章作业
## 作业 ```mysql 一.单表查询 素材: 表名:worker-- 表中字段均为中文,比如 部门号 工资 职工号 参加工作 等 CREATE TABLE `worker` ( `部门号` i ...
- ##MySql数据库表的操作与应用
#新建数据库 CREATE DATABASE school; #查看数据库 SHOW DATABASES; #查看当前新建数据库 SHOW CREATE DATABASE school; #换库 US ...
- Mysql基础--表的操作
1.表的基本概念 每一行代表一条唯一的记录,每一列代表记录中的一个字段. 2.创建表 例子: 3.查看表结构 (1)DESCRIBE语句查看表定义 语法: 例子: (2)SHOW CREATE TAB ...
最新文章
- yolov3的缺点_YOLOv3:训练自己的数据(附优化与问题总结)
- Qt pro工程文件中判断宏定义是否存在
- crontab 每分钟一次_Celery实现定时任务crontab
- 简单shell:删除五日之前的日志文件
- python图像识别代码_用Python进行简单图像识别(验证码)
- 省份城市区县三级联动html代码,基于Jquery实现省份、城市、区县三级联动
- LiveCDLiveUSB制作
- 用JavaScript实现网页无限轮播图效果,附整套源码
- ionic 之 获取验证码
- 刚接触Cisco认证:CCNA学习经验
- 如何证明一个问题是NP-Hard或NP-Complete?
- HWSD土壤数据库介绍
- 数学建模——人口预测模型
- MDR的进阶版本-GMDR
- 计算机开机错误怎么办,电脑开机蓝屏错误代码0X0000007E怎么办?
- 你所不知道的NVMe SSD固态硬盘读写速度及国货的惊喜--基于FPGA的速度测试
- [技术讨论]网络软件开发的bug分析与公司开发管理问题之阿里篇
- 2023AB斗篷玩法全攻略
- 工业平板电脑选择需要注意的地方
- XCTF final noxss