MySQL数据库——数据表操作

在MySQL数据库中,所有的数据都存储在数据表中,若要对数据执行添加、查看、修改、删除等操作,首先需要在指定的数据库中准备一张数据表。下面将详细地讲解如何在MySQL中创建、查看、修改以及删除数据表。

1、创建数据表

创建数据表指的是在已存在的数据库中建立新表。MySQL既可以根据开发需求创建新的表,又可以根据已有的表复制相同的表结构。其中依据已有的表创建相同结构的新表方式会在后面的章节中讲解,此处仅讲解如何根据需求创建一个简单的新表。
在MySQL数据库中,使用CREATETABLE语句可以完成数据表的创建,基本语法格式如下。
语法

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 表名
(字段名字段类型[字段属性]…) [表选项]

在上述语法中,可选项TEMPORARY表示临时表,仅在当前会话中可见,并且在会话关闭时自动删除。“字段名”指的是数据表的列名;“字段类型”设置字段中保存的数据类型,如时间日期类型等;可选项“字段属性”指的是字段的某些特殊约束条件。可选的“表选项”用于设置表的相关特性,如存储引擎(ENGINE)、字符集(CHARSET)和校对集(COLLATE)。
其中,字段类型、字段属性以及表选项的设置和相关注意事项会在后面的章节中讲解,此处读者了解即可。
需要注意的是,在操作数据表之前,应该使用“USE数据库名”指定操作是在哪个数据库中进行,否则会抛出No database selected错误。
下面在mydb数据库中,创建一个名称为goods的数据表,保存商品信息,具体SQL语句及执行结果如下。

#①创建mydb数据库
mysql> CREATE DATABASE mydb;
Query OK, 1 row affected (0.00 sec)
#②选择mydb数据库
mysql> USE mydb;
Database changed
#③创建goods数据表
mysql> CREATE TABLE goods (
    ->   id INT COMMENT '编号',
    ->   name VARCHAR(32) COMMENT '商品名',
    ->   price INT COMMENT '价格',
    ->   description VARCHAR(255) COMMENT '商品描述'
    -> );
Query OK, 0 rows affected (0.01 sec)

上述SQL语句中,INT用于设置字段数据类型是整型;VARCHAR(L)表示可变长度的字符串,L表示字符数,如VARCHAR(32)表示可变的字符数是32;COMMENT用于在创建表时添加注释内容,并将其保存到表结构中。
值得一提的是,在操作数据表时,可以不使用“USE选择数据库”的方式选择数据库,直接将表名的位置改为“数据库.表名”的形式,就可以在任何数据库下访问其他数据库中的表。例如,省略以上第②步的操作,将第③步创建goods数据表的语句修改成如下形式。
CREATE TABLE mydb.goods (此处省略字段的定义);
上述语句中,mydb.goods表示mydb数据库中的goods数据表。

2、查看数据表

MySQL中提供了专门的SQL语句,用于查看某数据库中存在的所有数据表、指定模式的数据表或数据表的相关信息。下面分别对其进行详细讲解。
1.查看数据表
选择数据库后,可以通过MySQL提供的SQL语句进行查看,基本语法格式如下。
语法

SHOW TABLES [LIKE匹配模式];

上述语法中,若不添加可选项“LIKE匹配模式”,表示查看当前数据库中的所有数据表;若添加则按照“匹配模式”查看数据表。其中,匹配模式符有两种,分别为“%”和“_”。前者表示匹配一个或多个字符,代表任意长度的字符串,长度也可以为0,后者仅可以匹配一个字符。
为了读者更好地理解,下面以mydb数据库中数据表的查询为例进行演示。首先为mydb数据库再添加一张数据表new_goods,方便读者对以下示例的理解。new_goods表的创建语句如下。

mysql> CREATE TABLE new_goods (
    ->   id INT COMMENT '编号',
    ->   name VARCHAR(32) COMMENT '商品名',
    ->   price INT COMMENT '价格',
    ->   description VARCHAR(255) COMMENT '商品描述'
    -> );
Query OK, 0 rows affected (0.01 sec)

数据表准备完成后,接下来分别查看mydb数据表中的所有数据表和名称中含有new的数据表。具体SQL语句如下。

① 查看所有数据表

mysql> SHOW TABLES;
+----------------+
| Tables_in_mydb |
+----------------+
| goods          |
| new_goods      |
+----------------+
1 rows in set (0.00 sec)

② 查看名称中含有new的数据表

mysql> SHOW TABLES LIKE '%new%';
+------------------------+
| Tables_in_mydb (%new%) |
+------------------------+
| new_goods              |
+------------------------+
1 row in set (0.00 sec)

从以上输出结果可以看出,mydb数据库中一共有两个数据表,而名字中含有new的数据表仅有一个。需要注意的是,LIKE后的匹配模式必须使用单引号或双引号包裹。

2.查看数据表的相关信息
除了查看数据库下有哪些数据表外,还可以利用MySQL提供的SQL语句查看数据表的相关信息,如数据表的名称、存储引擎、创建时间等,基本语法格式如下。
语法

SHOW TABLE STATUS [FROM 数据库名] [LIKE 匹配模式];

下面查看mydb数据库下含有new的数据表的详细信息,具体SQL语句如下。

<
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值