3、数据表操作命令
在关系型数据库中,表是组织成行和列的结构化数据集。
- 行代表记录。
- 列代表数据的属性。
一、查看数据库中存在的表列
命令:
show tables ; 或 show tables from database_name; -- 显示当前数据库中所有表的名称SHOW CREATE TABLE 表名; --查询指定表的建表语句:
例子:
MariaDB [test]> show tables; +----------------+ | Tables_in_test | +----------------+ | proc | +----------------+ 1 row in set (0.00 sec)
查询表结构
DESC 表名;
二、创建表
1、创建表需要有:表名,字段名,列字段的数据类型
命令:
create table[IF NOT EXISTS] 库名.表名(
字段1 类型[(宽度) 约束条件] [COMMENT 字段1注释],
字段2 类型[(宽度) 约束条件] [COMMENT 字段2注释],
字段3 类型[(宽度) 约束条件] [COMMENT 字段3注释]
)[ COMMENT 表注释 ];
- IF NOT EXISTS :可选。检查表是否存在。
- 若表已存在,不会执行创建操作,但也不会报错。它会静默地跳过这条语句,并返回一个提示(通常是
OK或Query OK, 0 rows affected),脚本会继续执行后续的语句。 - 若表不存在,执行创建。
- 若表已存在,不会执行创建操作,但也不会报错。它会静默地跳过这条语句,并返回一个提示(通常是
注:(1)多个列之间用逗号(,)隔开,最后一个列之后没有逗号;
(2)同一张表中字段名不能重复;
(3)宽度和约束条件可选,字段名和数据类型必须有
(4)COMMENT :用于为数据库对象(如表、列、索引等)添加注释说明。
CREATE TABLE orders ( order_id INT, product_id INT, customer_id INT, -- 表级主键(多列) PRIMARY KEY (order_id), -- 表级外键 FOREIGN KEY (customer_id) REFERENCES customers(id) ON DELETE CASCADE ON UPDATE RESTRICT, -- 多列唯一 UNIQUE (customer_id, product_id), -- 表级 CHECK CHECK (order_id > 0) );
例子
CREATE TABLE employees ( employee_id INTEGER PRIMARY KEY, first_name VARCHAR(50) NOT NULL, last_name VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL, department_id INTEGER, salary DECIMAL(10, 2) CHECK (salary > 0), hire_date DATE DEFAULT CURRENT_DATE, -- 表级外键 FOREIGN KEY (department_id) REFERENCES departments(department_id) ON DELETE SET NULL );
2、查看建立的表结构
命令:
show columns from 表名;
例子
MariaDB [test]> show columns from t1; +-------+-----------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+-----------------------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | name | varchar(16) | NO | | NULL | | | sex | enum('male','female') | NO | | male | | +-------+-----------------------+------+-----+---------+----------------+ 3 rows in set (0.00 sec)
三、删除表
命令:
-- DROP: 完全删除表结构和数据,不可恢复 -- 使用场景:确定不再需要整个表时 DROP TABLE IF EXISTS temp_employees; -- TRUNCATE: 清空表数据,但保留表结构,重置自增ID -- 使用场景:需要快速清空大表数据时 TRUNCATE TABLE audit_log; -- DELETE: 逐行删除数据,可条件删除,可回滚 -- 使用场景:有条件地删除部分数据 DELETE FROM employees WHERE department_id = 5;
例子:
MariaDB [test]> drop table proc; Query OK, 0 rows affected (0.00 sec)
本文来自博客园,作者:chao_xiong,转载请注明原文链接:https://www.cnblogs.com/chao-xiong/p/14510749.html

浙公网安备 33010602011771号