创建表

创建表案例

查看表结构

修改表

删除表


创建表

在创建数据库之后,接下来就要在数据库中创建数据表了。所谓创建数据表,指的是在已经创建数据库中建立新表。

创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性)约束的过程。

基本语法

可以使用 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. 本工作簿不能再使用其他新字体_1.2.16 EXCEL篇之关于工作表的操作合集

    本篇的开始,还要从复制一个表格说起... 相信不少童鞋复制一个表格到其他工作表,都是以下的操作:框选表格→复制粘贴到目标工作表→调整行高列宽,如下图所示 可以看到这样简单粗暴地直接复制粘贴过去,新表的 ...

  2. MySQL基础(三)表关系及数据的增删改查

    这一部分主要使用SQL中的DML,数据库操作语言(data manipulation language),对数据库数据进行增.删.改.查操作,作为前提,先介绍关系型数据库中的表关系. 关系型数据库(R ...

  3. MySQL基本操作命令和数据表高级操作

    数据库之MySQL基本操作命令 一.常用的数据类型 二.查看数据库.表和表结构 1.查看数据库 2.查看数据库包含的表 3.查看表结构 三.SQL语句 创建新的数据库 创建新的表 删除指定数据表 删除 ...

  4. 【MySQL】数据库基本操作、表的操作

    一.数据库 1.什么是数据库 2.数据库基本操作 2.1.显示数据库 2.2. 创建数据库 2.3.选中数据库 2.4.删除数据库 3.数据库分类 4.MySQL 安装 二.数据表的使用 1. 常用数 ...

  5. Mysql数据库教程(第一章 表的操作)

    Mysql数据库教程 前言 库的基本操作 一.数据类型 1.1 数值型 1.2 日期和时间类型 1.3 字符串类型 二.表的操作 2.1 创建表 2.2 删除表 2.3 修改表 2.4 显示表 三.创 ...

  6. mysql约束条件整型_MySQL 表的操作

    表的操作 创建表的完整语法: create table 表名( 字段名1 字段类型[(宽度) 约束条件], 字段名1 字段类型[(宽度) 约束条件], 字段名1 字段类型[(宽度) 约束条件] ); ...

  7. mysql word_mysql导出word的表结构操作

    mysql导出word的表结构操作 1.首先准备好mysql的相关插件mysql-connector-odbc和DBExportDoc 百度网盘地址: 2安装驱动 打开DBExportDoc V1.0 ...

  8. MySQL【第三篇】数据类型

    一.整型 整型的每一种都有无符号(unsigned)和有符号(signed)两种类型. MySQL数据类型 含义 tinyint(m) 1个字节表示:signed(-128~127):unsigned ...

  9. mysql(三)表的操作

    写在前面,因为通常sql中使用的注释在这里会显示成"–"所以用Java中的单行注释//来代替注释. 1.创建表: 创建表的语法形式: CREATE TABLE table_name ...

  10. mysql+显示表ddl_MySQL_DDL_数据库和表的操作

    #一.创建表 语法: CREATE TABLE [IF NOT EXISTS] 表名( 字段名 字段类型 [字段约束], 字段名 字段类型 [字段约束], 字段名 字段类型 [字段约束] ); -- ...

最新文章

  1. 前端HTML渲染带箭头的线
  2. HDU 3046Pleasant sheep and big big wolf(切最小网络流)
  3. word文档图标变成白纸_挽救你的文件 修复变成乱码的Word文档
  4. css hack(ie6-9,firefox,chrome,opera,safari)
  5. vmwaretools安装
  6. 现在更新鸿蒙会成为小白鼠吗,如果荣耀Magic3搭载了屏下镜头和鸿蒙系统,你会做第一批吗?...
  7. springboot版本兼容
  8. 基于vue-cli3+typescript+element-ui搭建起来的后端管理平台框架(骨架)
  9. NLP中的绿色Finetune方法
  10. css基础知识汇总5
  11. SQL Server2008安装详细教程
  12. oa服务器维护问题,OA系统数据面临的安全问题及解决方法
  13. 代理 傲澜智伴机器人_机器人厂家_智伴机器人代理,莆田智伴机器人,傲澜智伴机器人(查看)_一呼百应网...
  14. 7天刷完剑指offer(一)
  15. 计算机网络 网络安全问题概述
  16. 苹果电脑上装Windows7
  17. java程序员常用的快捷键
  18. 丙烯颜料试用心得和丙烯绘画入门
  19. UMLChina公众号文章精选(20210706更新精选)
  20. 移植oracle到mysql_oracle移植到mysql注意事项(转载)

热门文章

  1. 阿里云服务器使用fastDFS问题
  2. Django Rest_framework 1(RESTRESTful)
  3. Android 天气APP(三十六)运行到本地AS、更新项目版本依赖、去掉ButterKnife
  4. iwanna 关卡设计(挖坑)指南
  5. html语音对话,纯CSS对话框/对话气泡/语音泡沫/speech bubbles【27个示例】
  6. css 实现对话气泡
  7. 3dmax云渲染哪个平台好用性价比高?
  8. 产品手记专注0基础转行产品经理平台
  9. 【CSS基础】box-shadow盒子阴影(重点)
  10. 罗马数字与阿拉伯数字的相互转换