MySQL常用命令:数据库与表的增删改查
本文详细整理了MySQL数据库中关于数据库对象(Database)和数据表(Table)的常用命令。内容涵盖数据库的创建、切换与删除,以及数据表的建立、结构查看、复制技巧和应用ALTER语句进行表结构调整的实操方法。
处理数据库的基本操作
在学习复杂的查询之前,首先需要掌握如何对数据库容器进行管理。以下是四个最基础的操作步骤:
第1步:查看现有数据库
目的:了解当前MySQL服务器上存在哪些数据库实例。
命令:SHOW DATABASES;
说明:执行后会列出所有拥有访问权限的数据库名称。
第2步:创建新数据库
目的:为项目或应用新建一个独立的存储容器。
命令:CREATE DATABASE db_test;
说明:系统返回 Query OK, 1 row affected 表示创建成功。
第3步:切换至目标数据库
目的:将当前会话的工作上下文切换到指定数据库,后续操作默认在该库中进行。
命令:USE db_test;
说明:执行后需留意提示 Database changed,此时再进行表操作将作用于该库。
第4步:删除无用数据库
目的:移除不再需要的数据库及其内部所有数据。
命令:DROP DATABASE db_test;
风险提示:此操作不可逆,将永久删除该库下的所有表和记录,请在生产环境中谨慎执行。确认无误后系统会返回 Query OK, 0 rows affected。
处理数据表的核心命令
进入特定数据库后,主要任务是管理其中的表(Table)。这包括建表、查看细节、备份拷贝以及动态调整表结构。
第5步:创建数据表
目的:定义数据的列名、类型及约束条件。
入口:MySQL命令行或客户端工具。
动作:使用 CREATE TABLE 语句。表至少需要包含一列。如果希望明确指定所属数据库,可在表名前缀加库名(如 db_name.table_name)。
mysql> CREATE TABLE tb_test(
-> id INT UNSIGNED NOT NULL AUTO_INCREMENT,
-> firstname VARCHAR(25) NOT NULL,
-> lastname VARCHAR(25) NOT NULL,
-> email VARCHAR(45) NOT NULL,
-> phone VARCHAR(10) NOT NULL,
-> PRIMARY KEY (id));
Query OK, 0 rows affected (0.03 sec)
第6步:安全创建(防止重复报错)
目的:在脚本自动化部署时,避免因表已存在而中断执行。
动作:加入 IF NOT EXISTS 子句。若表不存在则创建,若存在则跳过并产生警告,不会报错停止。
mysql> CREATE TABLE IF NOT EXISTS db_test.tb_test(...);
-- 返回 Query OK, 0 rows affected, 1 warning
第7步:复制现有表结构
目的:基于已有的表快速获取副本,常用于备份结构或测试。
注意:CREATE TABLE ... SELECT 语法会根据SELECT的结果集创建新表,但**不会**自动复制原表的索引、主键和外键约束,只会复制列结构和数据。
完全复制所有列:
mysql> CREATE TABLE tb_test2 SELECT * FROM db_test.tb_test;
仅复制部分列:
mysql> CREATE TABLE tb_test2 SELECT id, firstname, lastname, email FROM tb_test;
第8步:创建临时表
目的:在处理大规模数据时,减少中间计算量。临时表仅在当前连接期间有效,断开连接后自动销毁,无需手动清理(但也支持手动删除)。
mysql> CREATE TEMPORARY TABLE emp_temp SELECT firstname, lastname FROM tb_test;
第9步:查看表结构与列表
目的:确认表中有哪些字段、数据类型及约束信息。
列出当前库的所有表:
mysql> SHOW TABLES;
+-------------------+
| Tables_in_db_test |
+-------------------+
| tb_test |
| tb_test2 |
+-------------------+
查看表详细结构:
mysql> DESCRIBE tb_test;
-- 或者使用 SHOW COLUMNS IN tb_test;
输出结果包含 Field(字段)、Type(类型)、Null(是否允许空)、Key(索引)、Default(默认值)和 Extra(额外属性)等信息。
第10步:修改表结构(ALTER TABLE)
目的:在开发迭代中,无需删表重建即可增加、修改或删除字段。
1. 添加新列:新列默认追加到表最后。
mysql> ALTER TABLE tb_demo ADD COLUMN email VARCHAR(45);
如需指定位置,可追加 AFTER column_name 或 FIRST关键字。
2. 修改列定义:例如限制某列为非空。
mysql> ALTER TABLE tb_demo CHANGE email email VARCHAR(45) NOT NULL;
CHANGE 需要同时写出旧的列名和新的列定义。
3. 删除列:彻底移除某一列及其数据。
mysql> ALTER TABLE tb_demo DROP email;
以上就是MySQL常用命令之数据库和表处理的详细内容,更多关于MySQL学习及SQL高级操作的资料请关注本站其它相关文章!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









