千家信息网

MySQL中怎么实现数据表基本操作

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,MySQL中怎么实现数据表基本操作,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。数据表的基本操作1.主键约束要求主键列的数据唯一,并
千家信息网最后更新 2026年11月01日MySQL中怎么实现数据表基本操作

MySQL中怎么实现数据表基本操作,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

数据表的基本操作

1.主键约束要求主键列的数据唯一,并且不允许为空。主键能够唯一地识别表中的一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度。主键和记录之间的关系如同身份证和人之间的关系。

2.字表的外键必须关联父表的主键,且关联字段的数据类型必须匹配。如果类型不一样。创建子表时,就会出现错误:ERROR 1005(HY000):can't create table 'databases.tablesname'(error:150)

3.非空约束指字段的值不能为空。

4.唯一性约束:要求该列唯一,允许为空,但只能出现一个空值。唯一约束可以确保一列或者几列不出现重复值。

5.unique和primary key 的区别:一个表中可以有多个字段声明为unique,但只能有一个primary key声明:声明为关键字的列不允许为空值,但是声明为unique的字段允许空值null的存在。

【例.1】创建员工表tb_emp1

选择创建表的数据库:

USE test_db;

创建tb_emp1表:

CREATE TABLE tb_emp1(id int(11),name varchar(25),deptId int(11),salary float);

【例.2】定义数据表tb_emp 2,其主键为id:

CREATE TABLE tb_emp2(id int(11) PRIMARY KEY,name varchar(25),deptId int(11),salary float);

【例.3】定义完所有列之后指定主键

定义数据表tb_emp 3,其主键为id:

CREATE TABLE tb_emp3(id int(11),name varchar(25),deptId int(11),salary float,PRIMARY KEY(id));

【例.4】定义数据表tb_emp4,创建多字段联合主键SQL语句为:

CREATE TABLE tb_emp4(name varchar(25),deptId int(11),salary float,PRIMARY KEY(name,deptId));

【例.5】定义数据表tb_emp5,并在tb_emp5表上创建外键约束

创建一个部门表tb_dept1:

CREATE TABLE tb_dept1(id int(11) PRIMARY KEY,name varchar(22) NOT NULL,location varchar(50));

定义数据表tb_emp5,让它的键deptId作为外键关联到tb_dept1的主键id:

CREATE TABLE tb_emp5(id int(11) PRIMARY KEY,name varchar(25),deptId int(11),salary float,CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES tb_dept1(id));

【例.6】定义数据表tb_emp6,指定员工的名称不能为空,SQL语句为:

CREATE TABLE tb_emp6(id int(11) PRIMARY KEY,name varchar(25) NOT NULL,deptId int(11),salary float,CONSTRAINT fk_emp_dept2 FOREIGN KEY (deptId) REFERENCES tb_dept(id));

【例.7】定义数据表tb_dept2,指定部门的名称唯一,SQL语句为:

CREATE TABLE tb_dept2(id int(11) PRIMARY KEY,name varchar(22) UNIQUE,location varchar(50));

【例.8】定义完所有列之后唯一约束,

定义数据表tb_dept3,指定部门的名称唯一,SQL语句为:

CREATE TABLE tb_dept3(id int(11) PRIMARY KEY,name varchar(22),location varchar(50),CONSTRAINT STH UNIQUE(name));

【例.9】定义数据表tb_emp7,指定员工的部门编号默认为1111,SQL语句为:

CREATE TABLE tb_emp7(id int(11) PRIMARY KEY,name varchar(25) NOT NULL,deptId int(11) DEFAULT 1111,salary float,CONSTRAINT fk_emp_dept3 FOREIGN KEY (deptId) REFERENCES tb_dept(id));

【例.10】定义数据表tb_emp8,指定员工的编号自动递增,SQL语句为:

CREATE TABLE tb_emp8(id int(11) PRIMARY KEY AUTO_INCREMENT,name varchar(25) NOT NULL,deptId int(11),salary float,CONSTRAINT fk_emp_dept5 FOREIGN KEY (deptId) REFERENCES tb_dept(id));INSERT INTO tb_emp8 (name,salary) VALUES('Lucy',1000), ('Lura',1200),('Kevin',1500);select * from tb_emp8;

【例.11】分别使用DESCRIBE和DESC查看表tb_dept和表tb_emp1的表结构,操作过程如下:

DESCRIBE tb_dept;DESC tb_emp1;

【例.12】使用SHOW CREATE TABLE查看表tb_emp1的详细信息,SQL语句及相应的执行结果如下示:

SHOW CREATE TABLE tb_emp1;SHOW CREATE TABLE tb_emp1\G;

查看数据表的结构

1.查看表基本结构语句describe或者desc +表名。

2.查看表详细结构语句 show create table。 如果不加'\G'参数,显示的结果可能非常混乱,加上参数'\G'之后,可使显示结果更加直观,易于查看。

修改数据表

1.修改表名

【例.13】将数据表tb_dept3改名为tb_deptment3

ALTER TABLE tb_dept3 RENAME tb_deptment3;

2.修改字段的数据类型

【例.14】将数据表tb_dept1中name字段的数据类型由VARCHAR(22)的修改成VARCHAR(30)

ALTER TABLE tb_dept MODIFY name VARCHAR(30);

3.修改该字段名

【例.15】将数据表tb_dept1中的location字段名称改为loc,数据类型保持不变。

ALTER TABLE tb_dept1 CHANGE location loc varchar(50);

【例.16】将数据表tb_dept1中的loc字段名称改为location,同时将数据类型保持变为varchar(60)。

ALTER TABLE tb_dept1 CHANGE loc location varchar(60);

4.添加字段

【例.17】在数据表tb_dept中添加一个没有完整性约束的int类型的字段managerId(部门经理编号),输入SQL语句如下:

ALTER TABLE tb_dept ADD managerId int(10);

【例.18】在数据表tb_dept1中添加一个不能为空的varchar(12)类型的字段column1。输入如下SQL语句,并执行:

ALTER TABLE tb_dept1 ADD column1 varchar(12) not null;

【例.19】在数据表tb_dept中添加一个int类型的字段column2。输入如下SQL语句,并执行:

ALTER TABLE tb_dept ADD column2 int(11) FIRST;

【例.20】在数据表tb_dept1中name列后添加一个int类型的字段column3。输入如下SQL语句,并执行:

ALTER TABLE tb_dept1 ADD column3 int(11) AFTER name;

5.删除字段

【例.21】删除数据表tb_dept1表中的column2字段

ALTER TABLE tb_dept1 DROP column2;

6.修改字段的排列位置

【例.22】将数据表tb_dept1中的column1字段修改为表的第一个字段

ALTER TABLE tb_dept1 MODIFY column1 varchar(12) FIRST;

【例.23】将数据表tb_dept1中的column1字段插入到location字段后面

ALTER TABLE tb_dept1 MODIFY column1 varchar(12) AFTER location;

7.删除数据的外键约束

【例.25】删除数据表tb_emp9中的外键约束

CREATE TABLE tb_emp9(id int(11) PRIMARY KEY,name varchar(25),deptId int(11),salary float,CONSTRAINT fk_emp_dept FOREIGN KEY (deptId) REFERENCES tb_dept1(id));ALTER TABLE tb_emp9 DROP FOREIGN KEY fk_emp_dept;

删除数据表

【例.26】删除数据表tb_dept2,输入如下SQL语句并执行:

DROP TABLE IF EXISTS tb_dept2;

【例.27】删除被数据表tb_emp关联的数据表tb_dept2

CREATE TABLE tb_dept2(id int(11) PRIMARY KEY,name varchar(22),location varchar(50));CREATE TABLE tb_emp(id int(11) PRIMARY KEY,name varchar(25),deptId int(11),salary float,CONSTRAINT fk_emp_dept FOREIGN KEY (deptId) REFERENCES tb_dept2(id));

直接删除父表tb_dept2

DROP TABLE tb_dept2;

解除关联子表tb_emp的外键约束

ALTER TABLE tb_emp DROP FOREIGN KEY fk_emp_dept;

关于MySQL中怎么实现数据表基本操作问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

数据 数据表 字段 语句 类型 名称 部门 关联 输入 员工 结构 基本操作 之间 结果 问题 参数 数据库 更多 帮助 解答 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广东猪兼强互联网科技有限公司 互联网科技未来 互联网科技公司官网 北京互联网络科技有限公司 小马过河互联网科技 新浪科技互联网 互联网和黑科技的看法 晓花互联网科技有限公司网址 电子科技大学互联网创业大赛 中科明德北京互联网科技 滨湖区互联网智能科技产品有哪些 山东子淼互联网科技有限公司 上海钢联属于互联网科技股吗 张召忠谈中国互联网科技 广州有谷有贝互联网科技有限公司 昆明中奇联合互联网科技 中国互联网公司的科技投入 众联互联网络科技 互联网科技创业计划的风险分析 小牛互联网科技有限公司地址 咖啡 广州百单互联网科技有限公司 鸠鸠互联网科技 融贸通互联网科技 互联网 新科技 互联网科技汛 佳云科技和互联网广告 西安小鹰速贷互联网科技有限公司 世界互联网领先科技成果获奖 互联网金融金融科技
0