【MySQL入门指南】数据表基础DDL操作

一、创建数据表

1.语法

CREATE TABLE table_name (
    field1 datatype,
    field2 datatype,
    ……
) character set 字符集 collate 校验规则 engine 存储引擎;

说明:

  • field表示列名
  • datatype表示该列的数据类型
  • 如果没有指定字符集,则以所在数据库的字符集为准(就近原则)
  • 如果没有指定校验规则,则以所在数据库的校验规则为准

疑难解答:

  1. 默认的字符集与校验集?

    ​ 我们在创建数据库的时候,如果没有指定字符集和校验集,则使用mysql配置文件中所默认采用的;我们在创建表的时候,如果没有指定字符集和校验集,则与当前数据库保持一致。这就是一种就近原则。

    ​ 如果没有特殊的需求,都不建议显式指定,采用默认的即可。

  2. 什么是存储引擎?

    ​ ​ MySQL存储引擎是用于存储和检索数据的软件组件。它定义了如何将数据存储在磁盘上,以及如何从磁盘检索数据。MySQL提供了多种存储引擎,其中最常用的是InnoDB和MyISAM。

    ​ ​ MySQL中的存储引擎是插件式的,我们根据自己的实际需要选择最适合的存储引擎

    image-20230414090807497

2.案例

​ ​ 注意数据表是在数据库下创建的,因为我们在创建数据表的时候,需要先指定使用某一个数据库:ues db_name;。如果忘了当前我们在哪个数据库中,可以使用下面的指令查看:select database();

image-20230414095558557image-20230414095442371

二、查看数据表

  • 查看当前数据库下所有的数据表 show tables;

    image-20230414095758063

  • 查看表属性 desc table_name

    image-20230414105225115

  • 查看数据表的创建语句 show create table table_name;

    image-20230414103955289

    ​ ​ 显示不清楚?没关系,最后可以用 \G 代替 ;。MySQL会将查询结果按行、列格式化输出。

    image-20230414104245070

三、修改数据表

现有如下的数据表,我们对其进行修改操作(都属于DDL操作)

image-20230414105402021

1.添加新字段

语法:

alter table table_name add column datatype [DEFAULT val],  [add column datatype [DEFAULT expr]] ……

建议: 一般数据表设计好后,就不建议插入新的字段了。尤其是在数据表中已经有数据的情况下

  • 案例一:添加一行新列

    image-20230414110300238

  • 案例二:可以通过default关键字设置默认值

    image-20230414110932321

  • 案例三:同时插入多列。

    image-20230414120307776

2.修改字段属性

语法:

ALTER TABLE tablename MODIfy columnname columndefinition,[MODIfy columnname columndefinition,]

案例:

  • 修改字段类型

    image-20230414120820215

    注意: 修改字段会将原字段属性完全覆盖。在上面的案例中,tele字段原本的注释信息被覆盖了

  • 修改默认值

3.删除字段

语法:

ALTER TABLE tablename DROP (column);

image-20230414124932133

4.修改数据表名

语法:

alter table tablename rename xxx

image-20230414125208907

5.修改字段名

语法:

alter table tablename change oldname newname + 字段属性

image-20230414125818845

修改字段名时也会覆盖原字段的所有属性

四、删除数据表

语法:

drop [TEMPORARY] temporary [if exists] tbl_name [, tbl_name] ...
  • TEMPORARY关键字用来指明删除临时表

注意: 删除表要慎重,数据表中的数据和创景指令都会被完全删除

猜你喜欢

转载自blog.csdn.net/whc18858/article/details/130157201