Mysql

概念

数据库: 存储数据的仓库,数据时有组织的进行存储的,DataBase (DB)

数据库管理系统: 操作和管理数据库的大型软件 DBMS

SQL: 操作关系型数据库的编程语言,定义了一套操作关系型数据库的统一标准。

数据模型

关系型数据库

  • 概念:建立在关系模型基础上,由多张相互连接的二维表线组成的数据库
  • 特点:
    • 1.使用表存储数据,格式统一,便于维护
    • 2.使用SQL语言操作,标准统一,使用方便

链接数据库

mysql -uroot -p


SQL

SQL通用语法

1.SQL语句可以单行或多行书写,以分号结尾。

2.SQL语句可以使用空格/缩进来增强语句的可读性。

3.MySOL数据库的SQL语句不区分大小写,关键字建议使用大写。

4.注释:

,单行注释:-注释内容或#注释内容(MySQL特有)

,多行注释:注释内容/

SQL 分类

  • SQL 分类

DDL

显示表:

sql 复制代码
show databases;

库创建

sql 复制代码
CREATE DATABASE 【IF NOT EXISTS】 库名 【 CHARACTER SET 字符集名】;

表的创建

sql 复制代码
CREATE TABLE 【IF NOT EXISTS】 表名 (
  字段名 字段类型 【约束】,
  字段名 字段类型 【约束】,
  ...
  字段名 字段类型 【约束】
) ;

数据类型:


DQL

语法

sql 复制代码
SELECT 查询列表 FROM 表名;

特点:

  • 查询列表可以是字段、常量、函数、表达式
  • 查询结果是一个虚拟表

示例

sql 复制代码
SELECT 字段名 FROM 表名;
SELECT 字段名,字段名 FROM 表名;
SELECT * FROM 表名;   // 查询所有字段
SELECT 常量值;
  • 起别名
sql 复制代码
SELECT 字段名 AS "别名" FROM 表名;

例子;

1、查询工资>12000的员工信息

sql 复制代码
SELECT  *  FROM  employees WHERE salary > 12000 ;

2、查询员工编号=100的员工信息

sql 复制代码
SELECT * FROM employees WHERE employee_id = 100 ;

3、查询工资>12000&&工资<18000的员工信息

sql 复制代码
SELECT 
  * 
FROM
  employees 
WHERE salary <= 12000 OR salary >= 18000 ;

4、查询工资<=12000||工资>=18000的员工信息

sql 复制代码
SELECT 
  * 
FROM
  employees 
WHERE NOT (salary > 12000 AND salary < 18000) ;

5、查询员工编号不在100到120之间的员工信息

sql 复制代码
SELECT 
  * 
FROM
  employees 
WHERE employee_id NOT BETWEEN 100 AND 120 ;

DML

用于数据库中表的数据记录进行增删操作

  • insert
  • update
  • delete

|---|
| |

**插入语句:**( 加入一条新数据的意思 )

sql 复制代码
#方式一:
INSERT INTO 表名(字段名,...) VALUES(值,...);

#方式二:
INSERT INTO 表名 SET 字段名=值,字段名=值,...;

插入数据(1):

sql 复制代码
INSERT INTO beauty(id,name,sex,borndate,phone,photo,boyfriend_id) 
			VALUES(15,'唐艺昕','女','1997-12-05','15633029014',NULL,2);

插入数据(2):

sql 复制代码
INSERT INTO beauty SET 
    id = 19,name = '张倩倩',
    sex = '女',
    borndate = '1997-12-05',
    phone = '15633029014',
    photo = NULL,
    boyfriend_id = 3 ;

正式演示案例:



|---|
| |

表修改


不带where限制关键字,则表示修改整张表

|---|
| |

删除语句

  • 语法
sql 复制代码
1、单表删除 
DELETE FROM 表名 【WHERE 筛选条件 】;

2、多表删除(级联删除)
sql92语法: 
DELETE 
  表1的别名,
  表2的别名 
FROM
  表1 别名,
  表2 别名 
WHERE 连接条件 AND 筛选条件 ;

sql99语法: 
DELETE 
  表1的别名,
  表2的别名 
FROM
  表1 别名 
INNER | LEFT | RIGHT JOIN 表2 别名 ON 连接条件 
WHERE 筛选条件 ;
相关推荐
Database_Cool_14 分钟前
阿里云 Tair(企业级内存数据库)vs 腾讯云 Redis 云缓存深度对比:性能/数据结构/成本全维度 Benchmark
数据库·阿里云·缓存
garuda herb20 分钟前
生成专题页Blog--建立并返回 MySQL 数据库连接
python·mysql
流星白龙22 分钟前
【Redis】1.Redis特性
数据库·redis·缓存
奶糖 肥晨25 分钟前
DBeaver 安装与 MySQL 连接配置教程
数据库·mysql
woshihuanglaoshi43 分钟前
数据迁移与版本管理 - Flutter在鸿蒙平台实现数据库升级策略
数据库·学习·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
万亿少女的梦16844 分钟前
基于Spring Boot、Java与MySQL的网络订餐系统设计与实现
java·spring boot·mysql·系统设计·网络订餐
Database_Cool_3 小时前
阿里云 RDS MySQL 降本增效实战:从规格选型到成本优化,月成本降低64%全攻略
mysql·阿里云·云计算
java_logo3 小时前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris
广州灵眸科技有限公司10 小时前
xfce桌面触摸校准:基于灵眸科技EASY-EAl-Orin-Nano
数据库·windows·科技
Cloud云卷云舒12 小时前
云卷云舒:从Oracle/MySQL迁移到HaishanDB:迁移评估工具核心技术拆解
mysql·oracle·ai-native·haishandb·信创数据库替换