第一课:数据库的基本操作(表的创建、删除、修改、重命名、主键、截断表)

本文详细介绍了Mysql中表的创建、删除、截断、重命名及修改等基本操作,包括字段约束、主键设置、数据类型修改等内容,是数据库管理者的实用指南。

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

一、表的创建

在Mysql中,通过使用create table 来创建表。

1、create table 的基本语法结构

create table 表名

( 字段名1    数据类型   字段约束

  字段名2    数据类型   字段约束

  ……

) default charset=utf-8;

★★★★★字段约束都包含什么?

[ unsigned   key|primary key   NULL|NOT NULL   UNIQUE    AUTO_INCREMENT    DEFAULT 值    COMMENT‘注释’ ] 

★★★具体:

unsigned:无符号数值

key|primary key:主键约束

NULL|NOT NULL:该字段可空|不可空(二选一)

UNIQUE:约束唯一,即不能重复(例如手机号、身份证号不能重复)

AUTO_INCREMENT:用于主键自动增长

DEFAULT 值:约束默认值()

COMMENT‘注释内容’:约束注释内容

⭐️⭐️⭐️示例:创建一个student表,设置学号、姓名、性别三个字段不能为空,并且给性别字段指定默认值为“男”。

create table student
( ID    char(4)   NOT NULL,  -- 学号(不能为空)
  name  char(20)  NOT NULL,  -- 姓名(不能为空)
  sex   char(2)   NOT NULL DEFAULT '男',  -- 性别(不能为空)
  bir   datetime,  -- 出生日期
  tel1  char(12),  -- 联系方式1
  tel2  char(12),  -- 联系方式2
  col   char(30)   -- 院校名称
);

2、创建带有主键的表

在数据表中能够唯一识别记录的字段,都会被设置为主键,例如:学号。当某个字段被设置为主键后,该字段不能有重复值,也不能为空,数据库管理系统将强制执行这一规则。这就叫“主键约束”。设置主键有两种方式:

方式1:

create table stud1
( ID    char(4) primary key NOT NULL,  -- 学号(申明学号为主键)
  name  char(20)  NOT NULL,  -- 姓名
  sex   char(2)   NOT NULL DEFAULT '男',  -- 性别
  bir   datetime,  -- 出生日期
  tel1  char(12),  -- 联系方式1
  tel2  char(12),  -- 联系方式2
  col   char(30)   -- 院校名称
);

方式2:(当设置多个主键时,必须使用该方法,且主键必须设置为 NOT NULL)

create table stud2
( ID    char(4)   NOT NULL,  -- 学号
  name  char(20)  NOT NULL,  -- 姓名
  sex   char(2)   NOT NULL DEFAULT '男',  -- 性别
  bir   datetime,  -- 出生日期
  tel1  char(12),  -- 联系方式1
  tel2  char(12),  -- 联系方式2
  col   char(30),   -- 院校名称
  constraint xh primary key(ID)  --(申明学号为主键)
);

3、设置多个字段为主键(主键必须设置为NOT NULL)

create table stud3
( ID          char(4)   NOT NULL,  -- 学号
  course_ID   char(6)   NOT NULL,  -- 课程代码
  result1     decimal(6,2),        -- 考试成绩(decimal 为mysql的数据类型)
  result2     decimal(6,2),        -- 平时成绩
  constraint xh_kcdm primary key(ID,course_ID)
);

二、删除表

       当不再需要数据库中的某表时,就应当删除该表释放资源。在删除失败时,大多数原因是该表可能与数据库中的其他表存在联系,此时应该先解除与其他表之间的联系。

drop table student;

三、截断表

只删除表中的数据而不删除表本身,可以使用 truncate 来截断。即:只删除表内的所有数据。

truncate table student;

四、重命名表

alter table stud3
rename to stu_info; -- 将 stud3 重命名为 stu_info

五、修改表

在数据库操作时,可能需要修改表结构,例如修改某字段的数据类型、添加新字段、删除指定字段等。

1、修改字段

alter table stud3  -- 要修改的表
modify             
ID  char(8);       -- 要修改的字段名  要修改字段的新数据类型及长度(长度为可选项,当数据类型为带长度的数据类型时必须定义)

⚠️注意:alter table 可以修改字段的类型和长度,但是遇到以下情况不能修改:

1⃣️数据类型为:text、image、ntext 或 timestamp 字段;

2⃣️有unique约束的字段;

3⃣️设置默认值的字段;

4⃣️重复的字段;

5⃣️计算的或用在计算的字段中;

6⃣️用于check约束的字段;

3、添加新字段

alter table stud3
add
political char(10) ;-- 添加:政治面貌。字段的新数据类型及长度(长度为可选项,当数据类型为带长度的数据类型时必须定义)

4、添加带有默认值的新字段

alter table stud3
add
marry char(2) default'否'; -- 添加新字段婚否?默认值设置为否(一个中文汉字为2个字符)

5、删除字段

使用alter column时,要更改的字段不能是:数据类型为text 、image、ntext或timestamp的字段;表的rowguidcol字段;计算字段或用于计算字段中的字段、被复制字段、用在索引中的字段。能删除数据表中带有默认值的字段。

alter table stud3
drop column
political;        -- 要删除的字段名:政治面貌

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值