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 筛选条件 ;
相关推荐
zh1570235 小时前
JavaScript中WorkerThreads解决服务端计算瓶颈
jvm·数据库·python
代码AI弗森5 小时前
一文理清楚“算力申请 / 成本测算 / 并发评估”
java·服务器·数据库
摇滚侠6 小时前
expdp 查看帮助
java·数据库·oracle
流年似水~6 小时前
MCP协议实战:从零搭建一个让Claude能“看见“数据库的工具服务
数据库·人工智能·程序人生·ai·ai编程
2401_871492856 小时前
Vue.js监听器watch利用回调函数处理级联下拉框数据联动
jvm·数据库·python
志栋智能7 小时前
超自动化安全:构建智能安全运营的核心引擎
大数据·运维·服务器·数据库·安全·自动化·产品运营
zhoutongsheng8 小时前
C#怎么实现Swagger文档 C#如何在ASP.NET Core中集成Swagger自动生成API文档【框架】
jvm·数据库·python
WinterKay8 小时前
【开源】我写了一个轻量级本地数据库浏览工具,支持 MySQL/Redis 只读查询
数据库·mysql·开源
zxrhhm9 小时前
Oracle 索引完整指南
数据库·oracle
程序猿乐锅10 小时前
【Tilas|第三篇】多表SQL语句
数据库·经验分享·笔记·学习·mysql