天天看点

MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

文章目录

  • 3. 数据库的基本操作
    • 3.1 数据库的创建
    • 3.2 数据库的删除
  • 4. 数据表的基本操作
    • 4.1 安装Navicat并连接MySQL
    • 4.2 创建数据表
      • 4.2.1 创建表的语法形式
      • 4.1.2 使用主键约束
      • 4.1.3 使用外键约束
      • 4.1.4 使用非空约束
      • 4.1.5 使用唯一性约束
      • 4.1.6 使用默认约束
      • 4.1.7 设置表的属性自动加一
    • 4.2 查看数据表的结构
      • 4.2.1 查看表的基本结构语句
      • 4.2.2 查看表的详细结构语句
    • 4.3 修改数据表
      • 4.3.1 修改表名
      • 4.3.2 修改字段的数据类型
      • 4.3.3 修改字段名
      • 4.3.4 添加字段
      • 4.3.5 删除字段
      • 4.3.6 修改字段的排列位置
      • 4.3.7 更改表的存储结构
      • 4.3.8 删除表的外键约束
    • 4.4 删除数据表
      • 4.4.1 删除没有被关联的表
      • 4.4.2 删除被其他表关联的主表
    • 4.5 综合案例——数据表的基本操作

3. 数据库的基本操作

3.1 数据库的创建

  1. SHOW DATABASES

    : 查看当前所有存在的数据库
    MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
数据库列表中包含了6个数据库,MySQL是必需的,它描述用户访问权限,用户经常利用test数据库做测试的工作
  1. CREATE DATABASE database_name

    “database_name”为要创建的数据库的名称,该名称不能与已经存在的数据库重名。
创建数据库是在系统磁盘上划分一块区域用于数据的存储和管理,如果管理员在设置权限的时候为用户创建了数据库,则可以直接使用,否则需要自己创建数据库
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

3.2 数据库的删除

删除数据库是将已经存在的数据库从磁盘空间上清除,清除之后,数据库中的所有数据也将一同被删除。
  1. DROP DATABASE database_name;

    删除数据库是将已经存在的数据库从磁盘空间上清除,清除之后,数据库中的所有数据也将一同被删除。
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
  1. SHOW CREATE DATABASES test_db;

    执行结果给出一条错误信息“ERROR 1049(42000):Unknown database ‘test_db’”,即数据库test_db已不存在,说明删除成功。
    MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

4. 数据表的基本操作

4.1 安装Navicat并连接MySQL

为了方便运行sql代码,我们可以下载Navicat(强推哦~!)

Navicat MySQL是一个强大的MySQL数据库服务器管理和开发工具。它可以与任何3.21或以上版本的MySQL一起工作,支持触发器、存储过程、函数、事件、视图、管理用户等
  1. Navicat官网下载地址,然后傻瓜式安装即可
  2. 连接MySQL
    MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
    MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

4.2 创建数据表

4.2.1 创建表的语法形式

创建数据表,指的是在已经创建好的数据库中建立新表。创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性、引用完整性和域完整性等)约束的过程。

在Navicat中输入如下命令:

create database db; #创建数据库
use db; # 选择创建表的数据库
create table tb
(
	id int(11),
	name varchar (25),
	deptId int(11),
	salary float
);
show tables;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

点击运行后,出现如下界面

MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

4.1.2 使用主键约束

主键,又称主码,是表中一列或多列的组合。

主键约束(Primary Key Constraint)要求主键列的数据唯一,并且不允许为空。

主键能够唯一地标识表中的一条记录,可以结合外键来定义不同数据表之间的关系,并且可以加快数据库查询的速度

主键分为两种类型:单字段主键和多字段联合主键。

  • 单字段主键

    主键由一个字段组成,SQL语句格式分为以下两种情况

    1)在定义列的同时指定主键,语法规则如下:

    字段名 数据类型 PRIMARY KEY [默认值]

create table tb1
(
	id int(11) primary key,
	name varchar (25),
	deptId int(11),
	salary float
);
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

2)在定义完所有列之后指定主键,语法规则如下:

[CONSTRAINT <约束名>] PRIMARY KEY [字段名]

create table tb3
(
	id int(11) ,
	name varchar (25),
	deptId int(11),
	salary float,
	primary key(id)
);
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
  • 多字段联合主键

    主键由多个字段联合组成,语法规则如下

    PRIMARY KEY [字段1,字段2,...字段n]

创建了一个名称为tb_emp4的数据表,name字段和deptId字段组合在一起成为tb_emp4的多字段联合主键。
create table tb4
(
	name varchar (25),
	deptId int(11),
	salary float,
	primary key(name,depId)
);
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

4.1.3 使用外键约束

外键用来在两个表的数据之间建立连接,可以是一列或者多列。一个表可以有一个或多个外键。外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值。

外键:首先它是表中的一个字段,虽可以不是本表的主键,但要对应另外一个表的主键。外键的主要作用是保证数据引用的完整性,定义外键后,不允许删除在另一个表中具有关联关系的行

主表(父表):对于两个具有关联关系的表而言,相关联字段中主键所在的那个表即是主表。从表(子表):对于两个具有关联关系的表而言,相关联字段中外键所在的那个表即是从表。

创建外键的语法规则:

[CONSTRAINT<外键名>] FOREIGN KEY 字段名1 [,字段名2,...]

REFERENCES <主表名> 主键列1 [, 主键列2,...]

“外键名”为定义的外键约束的名称,一个表中不能有相同名称的外键;“字段名”表示子表需要添加外键约束的字段列;“主表名”即被子表外键所依赖的表的名称;“主键列”表示主表中定义的主键列,或者列组合

use db;
create table tb6(
	id int (11) primary key,
	name varchar(22) not null,
	location varchar(50)
);
create table tb7
(
	id int(11) primary key,
	name varchar(25),
	deptId int(11),
	salary float,
	constraint fk_emp_dept1 FOREIGN key(deptId) references tb6(id)
);
           

4.1.4 使用非空约束

非空约束(Not Null Constraint)指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统会报错。非空约束的语法规则如下;

字段名 数据类型 not null

4.1.5 使用唯一性约束

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

唯一性约束的语法规则如下:

(1)在定义完列之后直接指定唯一约束:

字段名 数据类型 UNIQUE

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

[CONSTRAINT<约束名>] UNIQUE(<字段名>)

UNIQUE和PRIMARY KEY的区别:一个表中可以有多个字段声明为UNIQUE,但只能有一个PRIMARY KEY声明;声明为PRIMAY KEY的列不允许有空值,但是声明为UNIQUE的字段允许空值(NULL)的存在

4.1.6 使用默认约束

默认约束(Default Constraint)指定某列的默认值。

默认约束的语法规则:

字段名 数据类型 DEFAULT 默认值

以上语句执行成功之后,表tb_emp7上的字段deptId拥有了一个默认的值1111,新插入的记录如果没有指定部门编号,则默认都为1111。

4.1.7 设置表的属性自动加一

在数据库应用中,经常希望在每次插入新记录时,系统自动生成字段的主键值。可以通过为表主键添加AUTO_INCREMENT关键字来实现。

默认的,在MySQL中AUTO_INCREMENT的初始值是1,每新增一条记录,字段值自动加1。一个表只能有一个字段使用AUTO_INCREMENT约束,且该字段必须为主键的一部分AUTO_INCREMENT约束的字段可以是任何整数类型(TINYINT、SMALLIN、INT、BIGINT等)。

设置表的属性值自动增加的语法规则:

字段名 数据类型 AUTO_INCREMENT

CREATE TABLE tb8
(
 id INT(11) PRIMARY KEY AUTO_INCREMENT,
 name VARCHAR(25) NOT NULL,
 deptId INT(11),
 salary FLOAT
);

INSERT INTO tb8(name,salary);
VALUES('Lucy',1000),('Lura',1200),('Kevin',1500);

SELECT*FROM tb8;
           

4.2 查看数据表的结构

4.2.1 查看表的基本结构语句

DESCRIBE/DESC语句可以查看表的字段信息,其中包括字段名、字段数据类型、是否为主键、是否有默认值等。语法规则如下:

DESCRIBE 表名;

或者简写为

DESC 表名;

MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

各个字段的含义分别解释如下:

NULL:表示该列是否可以存储NULL值。

Key:表示该列是否已编制索引。PRI表示该列是表主键的一部分;UNI表示该列是UNIQUE索引的一部分;MUL表示在列中某个给定值允许出现多次。

Default:表示该列是否有默认值,有的话指定值是多少。

Extra:表示可以获取的与给定列有关的附加信息,例如AUTO_INCREMENT等

4.2.2 查看表的详细结构语句

SHOW CREATE TABLE语句可以用来显示创建表时的CREATE TABLE语句,语法格式如下:

SHOW CREATE TABLE <表名\G>

MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
使用SHOW CREATE TABLE语句,不仅可以查看表创建时候的详细语句,还可以查看存储引擎和字符编码

4.3 修改数据表

4.3.1 修改表名

MySQL是通过ALTER TABLE语句来实现表名的修改的,具体的语法规则如下:

ALTER TABLE<旧表名> RENAME [TO] <新表名>;

其中,TO为可选参数,使用与否均不影响结果。

ALTER TABLE tb_dept1 RENAME TB9;
SHOW TABLES;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
修改表名并不修改表的结构,因此修改名称后的表和修改名称前的表的结构必然是相同的。

4.3.2 修改字段的数据类型

修改字段的数据类型,就是把字段的数据类型转换成另一种数据类型。在MySQL中修改字段数据类型的语法规则如下:

ALTER TABLE <表名> MODIFY <字段名> <数据类型>

其中,“表名”指要修改数据类型的字段所在表的名称,“字段名”指需要修改的字段,“数据类型”指修改后字段的新数据类型。

ALTER TABLE tb1 MODIFY name VARCHAR(30);
DESC tb1;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

4.3.3 修改字段名

MySQL中修改表字段名的语法规则如下:

ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>

其中,“旧字段名”指修改前的字段名;“新字段名”指修改后的字段名;“新数据类型”指修改后的数据类型,如果不需要修改字段的数据类型,将新数据类型设置成与原来一样即可,但数据类型不能为空。

ALTER TABLE tb1 CHANGE salary loc VARCHAR(50);
DESC tb1;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
CHANGE也可以只修改数据类型,实现和MODIFY同样的效果,方法是将SQL语句中的“新字段名”和“旧字段名”设置为相同的名称,只改变“数据类型”。由于不同类型的数据在机器中存储的方式及长度并不相同,修改数据类型可能会影响到数据表中已有的数据记录,因此当数据库表中已经有数据时,不要轻易修改数据类型

4.3.4 添加字段

一个完整字段包括字段名、数据类型、完整性约束,添加字段的语法格式如下:

ALTER TABLE <表名> ADD <新字段名><数据类型> [约束条件] [FIRST |AFTER 已存在的字段名]

新字段名为需要添加的字段的名称;“FIRST”为可选参数,其作用是将新添加的字段设置为表的第一个字段;“AFTER”为可选参数,其作用是将新添加的字段添加到指定的“已存在字段名”的后面。

“FIRST”或“AFTER已存在字段名”用于指定新增字段在表中的位置,如果SQL语句中没有这两个参数,则默认将新添加的字段设置为数据表的最后列
  • 添加无完整性约束条件的字段

    在数据表tb1中添加一个没有完整性约束的INT类型的字段managerId(部门经理编号)

ALTER TABLE tb1 ADD managerId INT(10);
DESC tb1;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
  • 添加有完整性约束条件的字段

    数据表tb1中添加一个不能为空的VARCHAR(12)类型的字段column1

ALTER TABLE tb1 ADD column1 VARCHAR(12) NOT NULL ;
DESC tb1;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
  • 在表的第一列添加一个字段

    在数据表tb_dept1中添加一个INT(11)类型的字段column2

ALTER TABLE tb1 ADD column2 INT(11) FIRST;
DESC tb1;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
  • 在表的指定列之后添加一个字段

    在数据表tb_dept1中name列后添加一个INT(11)类型的字段column3

ALTER TABLE tb1 ADD column3 INT(11) AFTER name;
DESC tb1;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

4.3.5 删除字段

删除字段是将数据表中的某个字段从表中移除,语法格式如下:

ALTER TABLE <表名> DROP<字段名>

删除数据表tb1表中的column2字段

ALTER TABLE tb1 DROP column2;
DESC tb1;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

4.3.6 修改字段的排列位置

对于一个数据表来说,在创建的时候,字段在表中的排列顺序就已经确定了,但表的结构并不是完全不可以改变的,可以通过ALTER TABLE来改变表中字段的相对位置。语法格式如下:

ALTER TABLE <表名> MODIFY <字段1><数据类型> FIRST|AFTER <字段2>;

其中,“字段1”指要修改位置的字段;“数据类型”指“字段1”的数据类型;“FIRST”为可选参数,指将“字段1”修改为表的第一个字段;“AFTER字段2”指将“字段1”插入到“字段2”后面。

  • 修改字段为表的第一个字段

    将数据表tb_deptl中的column1字段修改为表的第一个字段

ALTER TABLE tb1 MODIFY column1 VARCHAR(12) FIRST;
DESC tb1;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
  • 修改字段到表的指定列后
  • 将数据表tb_dept1中的column1字段插入到name字段后面
ALTER TABLE tb1 MODIFY column1 VARCHAR(12) AFTER name;
DESC tb1;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

4.3.7 更改表的存储结构

存储引擎是MySQL中的数据存储在文件或者内存中时采用的不同技术实现。可以根据自己的需要,选择不同的引擎,甚至可以为每一张表选择不同的存储引擎。MySQL中主要的存储引擎有MyISAM、InnoDB、MEMORY(HEAP)、BDB、FEDERATED等。

可以使用

SHOW ENGINES;

语句查看系统支持的存储引擎。

MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

更改表的存储引擎的语法格式如下:

ALTER TABLE <表名> ENGINE=<更改后的存储引擎名>;

将数据表tb_deptment3的存储引擎修改为MyISAM

SHOW CREATE TABLE tb3 \G;
ALTER TABLE tb3 ENGINE= MyISAM;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

4.3.8 删除表的外键约束

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

ALTER TABLE <表名> DROP FOREING KEY <外键约束名>

“外键约束名”指在定义表时CONSTRAINT关键字后面的参数

create table tb7
(
	id int(11) primary key,
	name varchar(25),
	deptId int(11),
	salary float,
	constraint fk_emp_dept1 FOREIGN key(deptId) references tb6(id)
);
ALTER TABLE tb7 DROP FOREIGN KEY fk_emp_dept1;
SHOW CREATE TABLE tb7 \G;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

4.4 删除数据表

4.4.1 删除没有被关联的表

在MySQL中,使用DROP TABLE可以一次删除一个或多个没有被其他表关联的数据表。语法格式如下:

DROP TABLE [IF EXISTS ], 表1,表2, ...表n

其中,“表n”指要删除的表的名称,后面可以同时删除多个表,只需将要删除的表名依次写在后面,相互之间用逗号隔开即可。如果要删除的数据表不存在,则MySQL会提示一条错误信息,“ERROR 1051 (42S02): Unknown table ‘表名’”。参数“IF EXISTS”用于在删除前判断删除的表是否存在,加上该参数后,再删除表的时候,如果表不存在,SQL语句可以顺利执行,但是会发出警告(warning)。

DROP TABLE IF EXISTS tb2;
SHOW TABLES;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

4.4.2 删除被其他表关联的主表

在数据表之间存在外键关联的情况下,如果直接删除父表,结果会显示失败,原因是直接删除将破坏表的参照完整性。如果必须要删除,可以先删除与它关联的子表,再删除父表,只是这样就同时删除了两个表中的数据。有的情况下可能要保留子表,这时若要单独删除父表,只需将关联的表的外键约束条件取消,然后就可以删除父表了。

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

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),
	depId int(11),
	salary float,
	constraint fk_emp_dept foreign key (depId) references tb_dept2(id)
)
           

直接删除父表tb_dept2, 会报错

MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

解除关联子表tb_emp的外键约束, 然后再删除

ALTER TABLE tb_emp DROP FOREIGN KEY fk_emp_dept;
DROP TABLE tb_dept2;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

4.5 综合案例——数据表的基本操作

  1. 登录数据库

    【法1】打开MySQL 8.0 Command Line Client,只输入用户密码也可以登录。登录成功后显示如下信息:

    MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
    【法2】打开MySQL 8.0 Command Line Client,只输入用户密码也可以登录。登录成功后显示如下信息:
    MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
  2. 创建数据库company
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

结果显示创建成功,在company数据库中创建表,必须先选择该数据库

MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

为了输入命令方便,以下演示如何使用Navicat for mysql

首先链接数据库

MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

然后建立新的Query

点击New Query , 然后就可以在编辑器中输入命令了。

MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
  1. 创建表offices
create table offices
(
	officeCode int(10) not null unique,
	city varchar(50) not null,
	address varchar(50) not null,
	country varchar(50) not null,
	postalCode varchar(15) not null,
	primary key(officeCode)
)
show tables;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
  1. 创建表employees
create table employees
(
	employeeNumber int(11) not null primary key auto_increment,
	lastName varchar(50) not null,
	firstName varchar(50) not null,
	mobile varchar(25) not null,
	officeCode int(10) not null,
	jobTitle varchar(50) not null,
	birth DATETIME,
	note varchar(255),
	sex varchar(5),
	constraint office_fk foreign key(officeCode) references offices(officeCode)
);
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
desc offices;
desc employees;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
  1. 将表employees的mobile字段修改到officeCode字段后面
alter table employees modify mobile varchar(25) after officeCode;
desc employees;
           

可以看到,mobile字段已经插入到officeCode字段的后面。

MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
  1. 将employees 的birth 字段改名为employ_birth
alter table employee change birth employee_birth datetime;
desc employees;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
  1. 修改sex 字段,数据类型为char(1),非空约束
alter table employees modify sex char(1) not null;
desc employees;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
  1. 删除字段note
alter table employees drop note;
desc employees;
           

DESC语句返回了8个列字段,note字段已经不在表结构中,删除字段成功

MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
  1. 增加字段名 favorite_activity, 数据类型为varchar(100).
alter table employees add favorite_activity varchar(100);
desc employees;
           

可以看到,数据表employees中增加了一个新的列favoriate_activity,数据类型为VARCHAR(100),允许空值,添加新字段成功

MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作
  1. 删除表offices

在创建表employees时,设置了表的外键,该表关联了其父表offices的officeCode主键。如前面所述,删除关联表时,要先删除子表employees的外键约束,才能删除父表。因此,必须先删除employees表的外键约束。

(1)删除employees表的外键约束,输入如下语句

MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

(2)删除表offices,输入如下语句:

MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

结果显示执行删除操作成功,使用“SHOWTABLES;”语句查看数据库中的表,结果如下:

MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

可以看到,数据库中已经没有名称为offices的表了,删除表成功

  1. 修改表employees存储引擎为MyISAM。修改表存储引擎,需要用到ALTER TABLE语句,输入语句如下:
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

结果显示执行修改存储引擎操作成功,使用SHOW CREATE TABLE语句查看表结构,结果如下:

MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

可以看到,倒数第2行中的ENGINE后面的参数已经修改为MyISAM,修改成功。

  1. 将表employees名称修改为employees_info

    修改数据表名,需要用到ALTER TABLE语句,输入语句如下

alter table employees rename employees_info;
show tables;
           
MySQL学习笔记(3,4)——数据库和数据表的基本操作3. 数据库的基本操作4. 数据表的基本操作

继续阅读