【MySQL篇】第三篇——表的操作
创建表
创建表案例
查看表结构
修改表
删除表
创建表
在创建数据库之后,接下来就要在数据库中创建数据表了。所谓创建数据表,指的是在已经创建数据库中建立新表。
创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性)约束的过程。
基本语法
可以使用 CREATE TABLE 语句创建表。其语法格式为:
CREATE TABLE table_name(field1 datatype,field2 datatype,field3 datatype
)character set 字符集 collate 校验规则 engine 存储引擎;
说明:
- field 表示列名
- datatype 表示列的类型
- character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
- collate校验规则,如果没有指定校验规则,则以所在数据库
创建表案例
数据表属于数据库,在创建数据表之前,应使用语句“USE<数据库>”指定操作在哪个数据库中进行,如果没有选择数据库,就会抛出 No database selected 的错误。
输入:创建表的数据库为test1;创建users数据表,输入的SQL语句和运行结果如下所示:
user test1;create table users (id int,name varchar(20) comment '用户名',password char(32) comment '密码是32位的md5值',birthday date comment '生日'
) character set utf8 engine MyISAM;
输出:
执行完之后,便创建一个名称为users的数据表,使用SHOW TABLES;便可以查看数据表是否创建成功:
说明:
- 不同的存储引擎,创建表的文件不一样。
- users 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:
1.users.frm:表结构
2.users.MYD:表数据
3.users.MYI:表索引
查看表结构
创建完数据表之后,经常需要查看表结构(表信息)。可以使用 DESCRIBE 和 SHOW CREATE TABLE 命令来查看数据表的结构。
DESCRIBE/DESC 语句会以表格的形式来展示表的字段信息,包括字段名、字段数据类型、是否为主键、是否有默认值等,语法格式如下:
DESCRIBE <表名>;
或:
DESC <表名>;
DESC 查看表 users 的表结构,SQL 语句和运行结果如下:
- Field:表示字段名字
- Type:表示字段类型
- Null:表示该列是否可以存储 NULL 值。
- Key:表示该列是否已编制索引。PRI 表示该列是表主键的一部分,UNI 表示该列是 UNIQUE 索引的一部分,MUL 表示在列中某个给定值允许出现多次。
- Default:表示该列是否有默认值,如果有,值是多少。
- Extra:表示可以获取的与给定列有关的附加信息,如 AUTO_INCREMENT 等。
修改表
修改数据表的前提是数据库中已经存在该表。修改表指的是修改数据库中已经存在的数据表的结构。修改数据表的操作也是数据库管理中必不可少的,就像画素描一样,画多了可以用橡皮擦掉,画少了可以用笔加上。
不了解如何修改数据表,就相当于是我们只要画错了就要扔掉重画,这样就增加了不必要的成本。
在 MySQL 中可以使用 ALTER TABLE 语句来改变原有表的结构,例如增加或删减列、更改原有列类型、重新命名列或表等。
其语法格式如下:
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);
- 修改表名
语法规则如下:
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
其中,TO 为可选参数,使用与否均不影响结果。
将数据表users改名为students_users,语句和运行结果如下所示:
- 修改表字符集
将字符集修改为gb2312,校对规则修改为gb2312_chinese_ci.语句和运行结果如下:
- 在users表添加二条记录
语法格式如下:
mysql> insert into users values(1,'a','b','1982-01-04'),(2,'b','c','1984-01-04');
- 在users表添加一个字段,用于保存图片路径
mysql> alter table users add assets varchar(100) comment '图片路径' after birthday;
- 修改name,将其长度改为60
mysql> alter table users modify name varchar(60);
- 删除password列
mysql> alter table users drop password;
mysql> desc users;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(60) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| assets | varchar(100) | YES | | NULL | |
+----------+--------------+------+-----+---------+-------+
删除表
对于不再需要的数据表,我们可以将其从数据库中删除。在删除表的同时,表的结构和表中所有的数据都会被删除,因此在删除数据表之前最好先备份,以免造成无法挽回的损失。
使用 DROP TABLE 语句可以删除一个或多个数据表,语法格式如下:
DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]
对语法格式的说明如下:
表名1, 表名2, 表名3 ...
表示要被删除的数据表的名称。DROP TABLE 可以同时删除多个表,只要将表名依次写在后面,相互之间用逗号隔开即可。- IF EXISTS 用于在删除数据表之前判断该表是否存在。如果不加 IF EXISTS,当数据表不存在时 MySQL 将提示错误,中断 SQL 语句的执行;加上 IF EXISTS 后,当数据表不存在时 SQL 语句可以顺利执行,但是会发出警告(warning)。
从上面的创建可知,数据库test1中,创建的数据表有:
下面来删除数据表person,输入SQL语句和运行结果如下:
删除成功。
两点注意:
- 用户必须拥有执行 DROP TABLE 命令的权限,否则数据表不会被删除。
- 表被删除时,用户在该表上的权限不会自动删除。
【MySQL篇】第三篇——表的操作相关推荐
- 本工作簿不能再使用其他新字体_1.2.16 EXCEL篇之关于工作表的操作合集
本篇的开始,还要从复制一个表格说起... 相信不少童鞋复制一个表格到其他工作表,都是以下的操作:框选表格→复制粘贴到目标工作表→调整行高列宽,如下图所示 可以看到这样简单粗暴地直接复制粘贴过去,新表的 ...
- MySQL基础(三)表关系及数据的增删改查
这一部分主要使用SQL中的DML,数据库操作语言(data manipulation language),对数据库数据进行增.删.改.查操作,作为前提,先介绍关系型数据库中的表关系. 关系型数据库(R ...
- MySQL基本操作命令和数据表高级操作
数据库之MySQL基本操作命令 一.常用的数据类型 二.查看数据库.表和表结构 1.查看数据库 2.查看数据库包含的表 3.查看表结构 三.SQL语句 创建新的数据库 创建新的表 删除指定数据表 删除 ...
- 【MySQL】数据库基本操作、表的操作
一.数据库 1.什么是数据库 2.数据库基本操作 2.1.显示数据库 2.2. 创建数据库 2.3.选中数据库 2.4.删除数据库 3.数据库分类 4.MySQL 安装 二.数据表的使用 1. 常用数 ...
- Mysql数据库教程(第一章 表的操作)
Mysql数据库教程 前言 库的基本操作 一.数据类型 1.1 数值型 1.2 日期和时间类型 1.3 字符串类型 二.表的操作 2.1 创建表 2.2 删除表 2.3 修改表 2.4 显示表 三.创 ...
- mysql约束条件整型_MySQL 表的操作
表的操作 创建表的完整语法: create table 表名( 字段名1 字段类型[(宽度) 约束条件], 字段名1 字段类型[(宽度) 约束条件], 字段名1 字段类型[(宽度) 约束条件] ); ...
- mysql word_mysql导出word的表结构操作
mysql导出word的表结构操作 1.首先准备好mysql的相关插件mysql-connector-odbc和DBExportDoc 百度网盘地址: 2安装驱动 打开DBExportDoc V1.0 ...
- MySQL【第三篇】数据类型
一.整型 整型的每一种都有无符号(unsigned)和有符号(signed)两种类型. MySQL数据类型 含义 tinyint(m) 1个字节表示:signed(-128~127):unsigned ...
- mysql(三)表的操作
写在前面,因为通常sql中使用的注释在这里会显示成"–"所以用Java中的单行注释//来代替注释. 1.创建表: 创建表的语法形式: CREATE TABLE table_name ...
- mysql+显示表ddl_MySQL_DDL_数据库和表的操作
#一.创建表 语法: CREATE TABLE [IF NOT EXISTS] 表名( 字段名 字段类型 [字段约束], 字段名 字段类型 [字段约束], 字段名 字段类型 [字段约束] ); -- ...
最新文章
- 前端HTML渲染带箭头的线
- HDU 3046Pleasant sheep and big big wolf(切最小网络流)
- word文档图标变成白纸_挽救你的文件 修复变成乱码的Word文档
- css hack(ie6-9,firefox,chrome,opera,safari)
- vmwaretools安装
- 现在更新鸿蒙会成为小白鼠吗,如果荣耀Magic3搭载了屏下镜头和鸿蒙系统,你会做第一批吗?...
- springboot版本兼容
- 基于vue-cli3+typescript+element-ui搭建起来的后端管理平台框架(骨架)
- NLP中的绿色Finetune方法
- css基础知识汇总5
- SQL Server2008安装详细教程
- oa服务器维护问题,OA系统数据面临的安全问题及解决方法
- 代理 傲澜智伴机器人_机器人厂家_智伴机器人代理,莆田智伴机器人,傲澜智伴机器人(查看)_一呼百应网...
- 7天刷完剑指offer(一)
- 计算机网络 网络安全问题概述
- 苹果电脑上装Windows7
- java程序员常用的快捷键
- 丙烯颜料试用心得和丙烯绘画入门
- UMLChina公众号文章精选(20210706更新精选)
- 移植oracle到mysql_oracle移植到mysql注意事项(转载)