MySQL基础 从入门到瑞克五代

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL基础 从入门到瑞克五代


SQL语句

  1. SQL 语句可以单行或多行书写,以分号结尾
  2. SQL 语句可以使用空格/缩进来增强语句的可读性
  3. MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写
  4. 注释:
  • 单行注释: -- 注释内容或 # 注释内容(MySQL特有)
  • 多行注释: /* 注释内容 */

SQL 分类

当谈到 SQL(Structured Query Language,结构化查询语言)的分类时,主要是根据其功能和用途进行分类。以下是几个常见的 SQL 分类

分类 全称 说明
数据定义语言 (DDL) Data Definition Language 用于创建和管理数据库对象,例如表、视图、索引等。包括 CREATE、ALTER、DROP 等语句。
数据操作语言 (DML) Data Manipulation Language 用于对数据库中表的数据进行操作和管理的语言。包括 SELECT、INSERT、UPDATE、DELETE 等语句。
数据控制语言 (DCL) Data Control Language 用于控制数据库访问权限和安全性的语言。包括 GRANT、REVOKE 等语句。
数据查询语言 (DQL) Data Query Language 用于从数据库中检索数据的语言。最常见的是 SELECT 语句,它被用于根据特定条件从表中查询所需的数据。
事务控制语言 (TCL) Transaction Control Language 用于控制数据库中事务的提交、回滚和恢复的语言。包括 COMMIT、ROLLBACK、SAVEPOINT 等语句。
NoSQL Not Only SQL 非关系型数据库的统称,它们不使用传统的 SQL 查询语言进行操作,而是使用其他的数据存储和查询技术,如文档数据库、键值对数据库等。
存储过程和函数 Stored Procedures and Functions 用于将一系列 SQL 语句封装成可重复使用的代码块,通常用于提高性能和代码复用性。

SQL-数据库操作-DDL

显示数据库列表

show databases;

创建数据库

create database demo;

这里创建又重新使用 show databases; 查看了一下数据库,demo 已经被创建了

MYSQL 不确定创建

create database if not exists demo;

当 database 内已经存在了 demo 这个数据库,若使用 create database demo; 继续创建的话,sql内部会抛出Error,使用上面代码,进行sql语句判断,若没有demo再创建,若有就不创建

默认字符集

使用 utf8mb4 字符集对数据进行存储和处理时,能够支持更广泛的字符范围,包括 Emoji 表情符号和一些少数民族语言的字符,utf8mb4 字符集使用的是 4 字节编码,而标准的 utf8 字符集只使用 3 字节编码

create database demo default charset utf8mb4;

删除数据库

create 使用 if not exists

drop database if not exists demo;

使用数据库

use demo;

查看当前数据库

select database();

查看数据库内的所有表

show tables;

刚刚创建的数据库因为里面没有表, 直接查看会返回空的结果集

可以切换到 sys 数据库,使用一下 show tables; 查看一下 sys 下的表

查看表内容

desc ***;

表的操作 & 创建 & 查询

create table 表名(
  参数名 参数类型 comment '注释',
  参数名 参数类型 comment '注释',
  参数名 参数类型 comment '注释',
  ......
)

查询指定表的建表语句
show create table 表名;

MySQL 数据类型
数据类型 图片
数值类型
字符串类型
时间类型
根据需求建表(定义类型)
create table emp_info(
  id int comment 'id',
  employ_work_id varchar(10) comment '员工工号',
  employ_name varchar(10) comment '员工姓名',
  employ_gender char(1) comment '员工性别',
  employ_age tinyint unsigned comment '员工年龄',
  employ_id_card char(18) comment '员工身份证',
  employ_entry_date date comment '员工入职时间'
) comment '员工信息表';

表的操作 & 修改 & 删除

表中添加字段
ALTER TABLE 表名 ADD 字段名 类型 [COMMENT] [约束]

修改数据类型
ALTER TABLE <表名> MODIFY <字段名> <新数据类型>(长度);
修改字段名和字段类型
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <类型>(长度) [COMMENT 注释] [约束];

修改 emp_info 表中的 employ_work_idwork_id,类型为 varchar(30)

ALTER TABLE emp_info CHANGE employ_work_id work_id varchar(30) comment 'item work id';
删除某个字段
ALTER TABLE <表名> DROP <字段名>;
修改表名
ALTER TABLE <表名> RENAME TO <新表名>;
删除表
DROP TABLE [IF EXISTS] <表名>;
删除指定表,并重新创建该表(init data)
TRUNCATE TABALE <表名>;

SQL-数据库操作-DML-数据增删改

DML-添加数据

INSERT INTO <表名> (字段1, 字段2, ...) VALUES (值1, 值2, ...);

DML-添加数据-给全部字段

INSERT INTO <表名> VALUES (值1, 值2, ...);

DML-添加数据-批量添加数据

INSERT INTO <表名> (字段1, 字段2, ...) VALUES (值1, 值2, ...),(值1, 值2, ...),(值1, 值2, ...);
INSERT INTO <表名> VALUES (值1, 值2, ...),(值1, 值2, ...),(值1, 值2, ...);

TIP:

  • 插入数据时,指定的字段顺序需要与值的顺序是一一对应的.
  • 字符串和日期型数据应该包含在引号中.
  • 插入的数据大小,应该在字段的规定范围内.

不是 NAVICAT 用不起 而是 HeiDiSQL更有性价比, 懒得搞破解 != =

DML-修改数据

UPDATE <表名> SET <param1 = value1>, <param2 = value2>,... [WHERE 条件]

修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据

修改 id 为 2 的数据,将 employ_name 改为 张三
update emp_info set employ_name = '张三' where id = 2;
修改 id 为 1 的数据,将 employ_name 改为 ‘张三的表弟’,employ_gender 改为 ‘男’
update emp_info set employ_name = '张三的表弟', employ_gender = '女' where id = 1;
将所有员工入职日期改为 ‘2002-02-18’
update emp_info set employ_entry_date = '2002-02-18';
效果图

DML-删除数据

DELETE FROM <表名> [WHERE 条件];
  • DELETE 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据
  • DELETE 语句不能删除某一个字段的值(可以使用UPDATE)
删除 employ_gender 为 男 的员工
delete from emp_info where employ_gender = '男';
删除所有员工
delete from emp_info;
效果图

SQL-数据库操作-DQL-查询

NULL

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
存储 监控 关系型数据库
轻松入门Mysql:MySQL性能优化与监控,解锁进销存系统的潜力(23)
轻松入门Mysql:MySQL性能优化与监控,解锁进销存系统的潜力(23)
|
1天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
123 0
|
1天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
|
1天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:MySQL 备份与恢复,保护数据安全,提高工作效率(20)
轻松入门MySQL:MySQL 备份与恢复,保护数据安全,提高工作效率(20)
|
1天前
|
安全 关系型数据库 MySQL
轻松入门MySQL:MySQL8权限管理详解,角色和用户操作实例(18)
轻松入门MySQL:MySQL8权限管理详解,角色和用户操作实例(18)
|
1天前
|
关系型数据库 MySQL 数据处理
轻松入门MySQL:数据库之触发器,自动守护你的数据宝库(17)
轻松入门MySQL:数据库之触发器,自动守护你的数据宝库(17)
|
1天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:揭秘MySQL游标,数据处理的神秘利器(16)
轻松入门MySQL:揭秘MySQL游标,数据处理的神秘利器(16)
|
1天前
|
存储 SQL 关系型数据库
轻松入门MySQL:加速进销存!利用MySQL存储过程轻松优化每日销售统计(15)
轻松入门MySQL:加速进销存!利用MySQL存储过程轻松优化每日销售统计(15)
|
1天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:视图之美,简化查询、提升效率的数据库利器(14)
轻松入门MySQL:视图之美,简化查询、提升效率的数据库利器(14)
|
1天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:优化复杂查询,使用临时表简化数据库查询流程(13)
轻松入门MySQL:优化复杂查询,使用临时表简化数据库查询流程(13)