2.数据表的基本操作

SQL句子中语法格式提示:

1.中括号([])中的内容为可选项;

2.[,...]表示,前面的内容可重复;

3.大括号({})和竖线(|)表示选择项,在选择项中仅需选择其中一项;

(1)创建数据表:

在MySQL中创建数据表的基本语法格式如下:

CREATE TABLE table_name (
    column1 datatype constraints,
    column2 datatype constraints,
    ...
    PRIMARY KEY (one_or_more_columns)
) ENGINE = engine_type;

其中,CREATE TABLE是用于创建数据表的关键字。table_name是您要创建的数据表的名称。column1column2等是表中的列名,datatype是要存储在列中的数据类型,constraints是用于设置列级别约束条件的子句。

在这个语法中,PRIMARY KEY用于定义主键。在SQL中,主键是唯一标识表的每一行的一列或多列的组合。这些列中的值必须是唯一的且不能为空,以便正确地区分表中的每一行。

最后,ENGINE = engine_type指定MySQL使用的存储引擎类型,例如InnoDB或MyISAM等。存储引擎是数据库用于存储和管理数据的核心组件,不同的引擎提供了不同的特性和性能优势。

注意:如果使用非图形化工具操作数据表,操作之前应该先使用“USE数据库名”命令指定操作是在哪个数据库中进行,否则会抛出“No database selected”错误。

eg: 在数据库ems中创建一个部门数据表tb_dept,部门数据表中包含部门编号deptno,部门名称dname,位置loc 

(2) 查看数据表:

数据表创建成功后,可以通过SQL语句查看数据表,以确保数据表是否创建成功和数据表的定义是否正确,以下三种SQL语句可以查看数据表:

2.1:使用SHOW TABLES语句查看数据表:

SHOW TABLES [LIKE 'pattern' | WHERE expr];

2.2:使用SHOW CREATE TABLE查看数据表创建语句:

SHOW CREATE TABLE tbl_name;

2.3:使用DESCRIBE语句查看数据表结构信息:

DESCRIBE 数据表名;

 

 (3)修改数据表:

如果想对已经创建好的数据表做一些结构上的修改,比如:数据表名,字段类型,字段名,字段的排列位置,增加或删除字段,修改或删除表的约束等,可以选择删除原有的数据表,创建新的数据表,但如果原有的数据表已经存在大量的数据,此时选择删除重创会造成巨大影响。在MySQL中,可以通过以下SQL语法进行修改:

ALTER TABLE tbl_name [alter_option [, alter_option] ...] [partition_options];

eg01:将数据库ems中的数据表tb_dept的名称改为dept

 eg02:修改数据表dept的字符集为gbk

修改字段名:ALTER TABLE语句对修改字段名提供了两种方式,分别是RENAME COLUMN和CHANGE。这两种方式主要区别于:RENAME COLUMN仅可以修改字段名,CHANGE子句不仅可以修改字段名称,还可以重新定义字段的数据类型,约束,排序位置。 

 eg:将部门表dept中的字段名loc改为local_name(使用RENAME COLUMN修改)

修改字段的数据类型:可通过ALTER TABLE语句中的MODIFY和CHANGE完成,其中MODIFY仅可以对字段的数据类型和排列位置重新定义,而CHANGE不仅可以对字段的数据类型和排列位置重新定义,还可以修改字段名称。两种修改效果一样,但是MODIFY的语法相对简洁。

eg:将部门表dept中字段dname的数据类型由VARCHAR(14)修改为CHAR(16)(使用MODIFY语法)

修改字段的排列位置:字段在数据表中的排列位置可以在创建数据表时进行指定,数据表创建之后如果想修改字段排列位置,ALTER TABLE语句也提供了MODIFY和CHANGE两种方式。

eg01:将部门表dept中字段local_name的位置修改为数据表的第一个字段,数据类型改为CHAR(20)(使用CHANGE修改字段的排列位置)

eg02:将部门表dept中字段deptno修改到字段dname后面(使用MODIFY方式修改字段的排列位置)

 添加字段:

eg:在数据表dept的第一列添加一个INT类型的字段id

删除字段:

 eg:删除部门表dept的id字段

(4)删除数据表:

删除数据表是指删除数据库中已存在的表。在删除数据表的同时,数据表中存储的数据也将被删除,以下是删除数据表的SQL语句:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCADE];

eg:删除部门表dept

猜你喜欢

转载自blog.csdn.net/weixin_61275790/article/details/131188873