预备阅读:
前言
在学习了MySQL常见的数据类型之后,让我们进入正题,操作表。在关系数据库中,数据表是最基本和最常用的。今天我们来学习一下手表的常见操作。
创建表格
MySQL中,CREATETABLE语句用于创建数据表,基本语法格式如下:
创建表tb1 _名称
(
字段名1数据类型[列级完整性约束][默认值]
[,字段名2数据类型[列级完整性约束][默认值]]
[, … …]
[,表级完整性约束]
)[ENgine = ENgine type];
我们已经创建了数据库db_school,所以我们将使用这个数据库,然后创建一个具有以下表结构的学生表tb _ student,它需要InnoDB引擎来存储表数据。
USE db _ school
创建表tb _学生(
学生编号字符(10)非空唯一,
学生名变量字符(20)不为空,
sex CHAR(2),
生日,
原生VARCHAR(20),
nation VARCHAR(20),
分类编号CHAR(6)
)ENGINE = InnoDB
语法描述:
1、指定表名和字段名
创建表时,必须指定表名并遵守标识符的命名规则。表中每个字段的定义从字段名开始,后跟字段的数据类型和可选参数。如果创建了多个字段,它们必须用逗号分隔。字段名必须唯一。
2.完整性约束
创建表时,可以定义与表相关的完整性约束。例如实体完整性、引用完整性和用户定义的约束。如果完整性约束涉及表的多个字段,则必须在表级定义,否则可以在表级或列级定义。
3.空和非空
空值表示没有值或缺少值空,而非空值的列不接受没有值的记录,即该列必须有值。默认设置为空。
4、自动增量
将该字段设置为自增属性可以给记录一个唯一且容易确定的标识号,并且该字段可以唯一地标识表中的每条记录。在MySQL中,AUTO_INCREMENT用于设置列的自增属性,该属性只能为整数列设置。默认初始值为1。每个表只能定义一个自动增量列,并且必须在该列中定义主键约束或唯一候选键约束。我们可以直接在上面学生表的学号列设置这个属性,但是类型必须被替换,可以设置为INT(10)。
5、默认
默认值是指在插入数据时,没有明确给出字段的对应值,DBMS允许为此字段指定一个值。在MySQL中,DEFAULT关键字是用来指定的,比如在学生表中,我们指定民族默认为“汉族”,那么nation varchar (20)默认为“汉族”。
注意:没有声明AUTO _ INDENTATE属性的数值类型,默认值为0。对于自动增量列,默认值是序列中的下一个值。对于时间戳以外的日期和时间类型,默认值是该类型的适当的“零”值;对于表中的第一个时间戳列,默认值是当前日期和时间。
6.存储引擎类型
存储引擎是如何存储数据、如何对存储的数据进行索引、如何更新和查询数据的实现方法。在关系型数据库中,存储引擎只是简单的指表的类型,数据库的存储引擎决定了表在计算机中的存储方式。
MySQL的核心是存储引擎,对于Oracle、SQL server等数据库只有一个存储引擎。使用SHOW ENGINES查看系统支持的引擎类型和默认引擎。
MySQL版本在5.5.5以上,InnoDB是系统默认的存储引擎,支持可靠的事务处理,是事务数据库的首选引擎。
查看表格
1.检查表格的名称
SHOW TABLES[{ From | IN } db _ name];
使用下列选项显示非当前数据库中数据库表的名称。
2.检查数据表的基本结构
在MySQL中,您可以使用DESCRIPT/desc或SHOW COLUMNS来查看指定数据表的结构。
[描述| desc]TB _ name;
SHow COLUMNS[{ FROM | IN }]TB _ name[{ FROM | IN } db _ name];
3.检查数据表的详细结构
在MySQL中,可以使用SHOW CREATETABLE查看创建表的语句。
SHOW CREATE TABLE tb _ name
修改表格
在MySQL中,ALTER TABLE用于修改原表结构。
1.添加字段
添加新字段时
ALTER TABLE tb_name ADD [COLUMN]新字段名数据类型[约束] [FIRST | AFTER有字段名];
FIRST表示新添加的字段被设置为第一个字段,AFTER表示新添加的字段被添加到指定的现有字段之后。如果没有参数,默认情况下会将其添加到最后一列。
2.修改字段
三种方式:
说明:CHANGE可以同时修改指定列的名称和数据类型,也可以同时添加多个变更,只需用逗号分隔即可。
ALTER可以修改或删除表中指定列的默认值。
MODIFY只修改列的数据类型,也可以通过FIRST或AFTER修改表中指定列的位置。
alter table TB _ name change[column]原始字段名新字段名数据类型[constraint];
ALTER TABLE tb_name ALTER [COLUMN]字段名{ SET | DROP } DEFAULT
alter table TB _ name modify[column]字段名数据类型[constraint] [FIRST | AFTER有字段名];
3.删除字段
ALTER TABLE tb _ name DROP列]字段名称;
重命名表格
MySQL可以用alter table修改或者重命名。
更改表原表名将[重命名为]新表名;
将表原表名1重命名为新表名1 [,将原表名2重命名为新表名2]。
删除表格
删除表可用于删除表。删除多个表时,表之间用逗号隔开。IF EXISTS用于在删除表之前判断表是否存在,可以避免报错。
删除表[如果存在]表1 [,表2]...;
总结
今天主要讲一下MySQL中表的常见操作,方便后面学习。等我们熟悉了之后,可以更好的应用到我们的数据库中,使用合适的存储引擎来存储合适的数据,既节省了空的空间和资源,也方便了后期的维护和优化。
希望以上操作能对大家有所帮助。如果您有什么好的意见、建议或不同意见,希望您能留言与我们沟通讨论。
如果想快速联系我,请关注微信微信官方账号:AiryData。
1.《mysql删除表 MySQL中表的操作》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《mysql删除表 MySQL中表的操作》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/yule/801207.html