《MySQL数据操作与查询》-T3 DDL和DML

一、SQL介绍

1、SQL简介

SQL(Structured Query Language)是结构化查询语言,是一种数据库查询和程序设计的语言。.sql是数据库脚本语言的扩展名。

SQL的重点内容:DDL(数据定义语言)和DML(数据操作语言)。

  • DDL(Data Definition Language):

    • 定义和维护数据库

    • 定义和维护数据表结构

  • DML(Data Manipulation Language):实现对数据库的数据表里面的数据的操作(增删改查)。

    • 检索:查询(select

    • 更新(新增(insert)、删除(delete)、修改(update))

2、使用Navicat编写SQL语句

2.1 新增查询

image-20231023010048278

2.2 保存查询

Ctrl + S保存查询,并命名

image-20231023010259199

2.3 运行查询

image-20231023012552996

3、SQL注释

快速注释:Ctrl + /

二、使用DDL定义和维护数据库

1、DDL定义数据库

1.1 创建数据库

语法:

create database 数据库名;

可视化操作SQL语句操作
image-20231023012018244

在创建数据时,需要设置字符集编码及排序规则,所以完成创建语法为:

语法:

create database 数据库名 character set 字符集编码 collate 排序规则;

可视化操作SQL语句操作
image-20231023012249773image-20231023012442287

1.2 删除数据库

语法:

drop database 数据库名;

可视化操作SQL语句操作
image-20231023012937485image-20231023013024046

1.3 查询所有数据库

语法:

show databases;

可视化操作SQL语句操作
image-20231023013259865

2、DDL维护数据库

2.1 修改数据库字符集编码及排序规则

语法:

alter database 具体操作;

可视化操作SQL语句操作
image-20231023014409896image-20231023014602494

三、使用DDL定义和维护数据表

1、DDL定义数据表

1.1 创建数据表结构

语法:

create table 表名(

字段名1 字段1数据类型 字段1的约束,

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

......

字段名n 字段n数据类型 字段n的约束

);

常用约束:

(1)主键约束:primary key

(2)主键自动增长:auto_increment

(3)唯一约束:unique

(4)非空约束:not null

(5)默认值约束:default

【实例】使用SQL语句创建客户表结构:

0

【解答】

注意点:

(1)在创建数据表时,需要选择在哪个数据库中创建,使用use 数据库名实现:

(2)在实际开发中,创建数据表时,一般主键约束唯一约束放在后面:

1.2 删除数据表

语法:

drop table 表名;

【实例】删除客户表customers

【解答】

1.3 重命名数据表

语法:

rename table 原表名 to 新表名;

【实例】将客户表(customers)的重命名为customer:

【解答】

2、DDL维护表结构

2.1 新增字段

语法:

alter table 表名

add 字段名 字段数据类型 字段约束;

【实例】使用SQL语句在客户表(customers)中新增一个字段:

0

【语法】

2.2 变更字段

语法:

alter table 表名

change 原字段名 新字段名 新字段名的数据类型 新字段名的约束;

【实例】将客户表(customers)中的“客户类型”字段变更为“客户业务”字段:

0

【语法】

2.3 更新字段

语法:

alter table 表名

modify 字段名 新的字段数据类型 新的字段约束;

【实例】将客户表(customers)中的“客户业务”字段进行内容更新,长度更新为100,约束为“非空”:

0

【语法】

2.4 删除字段

alter table 表名

drop column 字段名;

【实例】将客户表(customers)中的“客户业务”字段删除

【语法】

2.5 删除唯一约束

语法:

alter table 表名

drop index 唯一约束名;

【实例】将客户表(customers)中的唯一约束(unique_loginID)删除

【语法】

3、外键约束

3.1 添加外键约束

语法:

alter table 表名

add constraint 外键约束名 foreign key(添加外键约束的字段名) references 被引用的表名(被引用表的主键);

【实例】在学生表(student)中设置外键来引用专业表(major)中的主键

0

【解答】

3.2 删除外键约束

语法:

alter table 表名

drop foreign key 外键约束名

【实例】将学生表(student)中设置的外键( fk_major_name)删除

【解答】

四、使用DML新增、修改、删除数据

1、新增数据

1.1 新增单条数据

语法:

insert into 表名(字段列表) values(值列表)

【实例】在客户表(customers)中插入一条记录:

0

【解答】

注意点:

(1)into可以省略,但建议不省略

(2)如果插入一条完整的记录(包括所有字段),字段列表可以省略不写

1.2 新增多条数据

语法:

insert into 表名(字段列表) values(值列表1),(值列表2),(...),(值列表n);

【实例】在客户表(customers)中插入多条记录:

0

【解答】

2、修改数据

语法:

update 表名 set 字段1=值1,...,字段n=值n where 条件表达式

【实例】将客户表(customers)中编号为1001的客户名称修改为华为技术有限公司

【解答】

3、删除数据

3.1 删除没有被关联的表记录【掌握】

语法:

delete from 表名 where 条件表达式

【实例】将客户表(customers)中客户姓名为“腾讯”的记录删除

【解答】

3.2 删除被被关联(有外键)的表记录【了解】

【实例】将专业表(major)中名称为“电子商务”的记录删除

0

0

【解答1】设置”删除时”的状态为“restrict”(限制):

0

有引用关系的数据不能被删除:

0

【解答2】设置”删除时”的状态为“set null”:

0

学生表中与“电子商务”相关联的数据被置为null:

0

【解答3】设置”删除时”的状态为“cascade”:

0

学生表中与“电子商务”相关联的被删除(级联删除):(谨慎使用

0

五、数据表的导入与导出

1、导出数据表

2、导入数据表

image-20231023024130441

3、导入、导出编写的查询内容

直接使用Ctrl + CCtrl + V 实现