MySQL数据库(二)—MySQL数据库表的基本操作

本文详细介绍数据库表的操作,包括查看、创建、修改和删除数据库表的方法,以及如何定义主键、外键、非空、唯一性、默认值约束和自动增加属性。此外,还介绍了如何修改数据表结构和存储引擎。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 查看数据库表; 【show tables;】

命令语句:use db_demo1;

show tables;

在这里插入图片描述

二、 创建数据库表【create table 表名(字段名1,数据类型 列级别约束条件 默认值,字段名2,数据类型 列级别约束条件 默认值,…表级别约束条件); 】

命令语句:

查看当前所有数据库show databases;

创建数据库:create database db_demo1;

选择数据库:use db_demo1;

创建包含字段表:create table tb_employee(id int(11),name varchar(25),departmentIdint(11),salary float);

在这里插入图片描述

三、查看数据表结构【describe 表名; 或者 desc 表名; 】

在这里插入图片描述
查看表的详细结构:【show create table 表名\G; 】

四、定义主键约束

主键是唯一能够表示一条记录的字段,他们之间是一一对应的关系,就像身份证号码和人之间的关系一样,通过主键可以定义不同数据表之间的关系。主键分为两种类型:单字段主键和多字段联合主键。

(1).单字段主键

同时定义单字段主键

语法结构create table 表名(字段名,数据类型 列级别约束条件 默认值 primary key,…);
命令语句:create table tb_employee2(id int(11) primary key,name varchar (25),departmentId int(11),salary float);
在这里插入图片描述

最后定义单字段主键

语法结构create table 表名(字段名,数据类型 列级别约束条件 默认值,…primary key (字段名));
在这里插入图片描述

(2) 多字段联合主键

语法结构create table 表名(字段名,数据类型 列级别约束条件 默认值,…primary key (字段1,字段2,…,字段n));
在这里插入图片描述

五、定义外键约束

外键是表中的一个字段,它不是本表的主键,但对应另外一个表的主键,一个表可以有一个或多个外键,多个外键字段名称不能相同。外键用来在两个表之间建立连接,它可以是一列或多列。
外键对应的是参照完整性,一个表的外键可以是空值,如果不为空值,那么每一个外键值必须等于另一个表中主键的某个值。

语法结构create table 子表名(字段名,数据类型 列级别约束条件 默认值primary key,…constraint 外键约束名称 foreign key(字段) references 父表名(主键字段));
定义数据表tb_employee5,让它的键departmentId作为外键连接到tb_department1表的主键id
在这里插入图片描述

六、定义非空约束

非空约束是指字段的值不能为空,对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据系统会报错。
语法结构create table 表名(字段1 数据类型 默认值 primary key,字段2 数据类型 默认值 not null,…);
在这里插入图片描述

七、定义唯一性约束

唯一性要求该列唯一,允许为空,但只能出现一个空值,唯一性能确保一列或几列值不重复。

(1)在定义玩列后直接定义唯一约束

语法结构create table 表名(字段1 数据类型 默认值 primary key,字段2 数据类型 默认值 unique,…);
在这里插入图片描述

(2)在定义完所有列之后指定唯一约束

语法结构create table 表名(字段1 数据类型 默认值 primary key,字段2 数据类型默认值 ,…,constraint sth unique(字段1,字段2,…));
在这里插入图片描述

八、定义默认值约束

默认约束可以指定某列的默认值
语法结构create table 表名(字段1 数据类型 默认值 primary key,字段2 数据类型 default 默认值 ,…);
在这里插入图片描述

九、定义表属性值的自动增加

在数据库应用中,经常希望在每次插入新纪录时,系统会自动生成字段的主键值,这可以通过为主键添加AUTO_INCREMENT关键字来实现。MySQL中它的初始值默认为1。注意,一个表只能有一个一个字段使用自增约束,且该字段为主键的一部分。它可以是任意的整数类型(tinyint,smallint,int,bigint等)
语法结构create table 表名(字段1 数据类型 默认值 primary key auto_increment,字段2 数据类型 默认值 ,…);
在这里插入图片描述

十、 修改数据表

修改表是指修改数据库中已有数据表的结构。MySQL使用alter table语句修改表。

(1)修改表名

语法结构alter table 旧表名 rename 新表名;
在这里插入图片描述

(2)修改字段的数据类型

语法结构alter table 表名 modify 字段名 数据类型;
在这里插入图片描述

(3)修改字段名

语法结构alter table表名 change 旧字段名 新字段名 新数据类型;
在这里插入图片描述

(4)添加字段

添加完整字段包括字段名、数据类型、完整性约束。添加字段的语法格式如下:
语法结构alter table 表名 add 新字段 数据类型 约束条件 first | after 已存在的字段名;

添加无完整性约束条件的字段

语法结构alter table 表名add 新字段 数据类型;
在这里插入图片描述

添加有完整性约束的条件

语法结构alter table 表名 add 新字段 数据类型 约束条件;
在这里插入图片描述

在表的第一列添加一个字段

语法结构alter table 表名 add 字段名 数据类型 first;
在这里插入图片描述

在表的指定列之后添加一个字段

语法结构alter table 表名 add 字段名 数据类型 after 已存在字段名;
在这里插入图片描述

删除字段

语法结构alter table表名 drop字段名;
在这里插入图片描述

修改字段的排列位置

语法结构alter table表名 modify字段名1 数据类型 first|after 字段2;

(1)修改字段为表第一个字段

语法结构alter table 表名modify 字段名 数据类型 first;
在这里插入图片描述

(2)修改字段到指定列之后

语法结构alter table 表名modify 字段1 数据类型 after字段2;
在这里插入图片描述

更改表的存储引擎

存储引擎是MySQL中的数据存储在文件或者内存中时采用的不同技术实现。用户可以根据自己的需要,选择不同的引擎,甚至可以为每一张表选择不同的存储引擎。MySQL中的主要存储引擎有MyISAM、InnoDB、MEMORY(HEAP)、BDB、FEDERATED等。可以使用SHOW ENGINES语句查看系统支持的存储引擎。
语法结构alter table 表名 engine=更改后的存储引擎名;

语法结构修改存储引擎前先查看当前存储引擎:

show create table tb_department3\G;
在这里插入图片描述

删除表的外键约束

对于数据库中定义的外键,如果不再需要,可以将其删除。外键一旦删除,就会解除主表与从表的关系。MySQL中删除外键的语法格式如下:

语法结构alter table 表名 drop foreign key 外键约束名;
在这里插入图片描述

四、删除数据库表:【drop table if exists 表名1,表名2,…表名n; 】

删除没有关联的数据表

语法结构drop table if exists 表名1,表名2,…表名n;
在这里插入图片描述

删除被其他表关联的主表

首先要解除关联表,只要删除表的外键约束即可通过drop table if exists 表名 进行删除。

语法结构:1.alter table 表名 drop foreign key 外键约束名;

2.drop table if exists 表名1,表名2,…表名n;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值