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 筛选条件 ;
相关推荐
战神刘玉栋2 小时前
《程序猿之设计模式实战 · 适配器模式》
数据库·设计模式·适配器模式
Lansonli2 小时前
大数据Flink(一百二十三):五分钟上手Flink MySQL连接器
大数据·mysql·flink
AI-入门2 小时前
【LangChain系列】实战案例5:用LangChain实现灵活的Agents+RAG,该查时查,不该查时就别查
数据库·人工智能·深度学习·面试·职场和发展·langchain
一休哥助手2 小时前
MySQL中的ON DUPLICATE KEY UPDATE详解与应用
数据库·mysql
油爆酥葱2 小时前
MySQL中去除重复
数据库·mysql
失心疯_20232 小时前
MySQL_数据类型简介
数据库·sql·mysql·mysql数据库·关系型数据库·数据库教程·mysql教程
代码江2 小时前
【速成Redis】04 Redis 概念扫盲:事务、持久化、主从复制、哨兵模式
java·数据库·mysql
终末圆3 小时前
探索RESTful风格的网络请求:构建高效、可维护的API接口【后端 20】
java·开发语言·数据库·后端·mysql·算法·restful
懒洋洋大魔王3 小时前
1.数据库-初识MySQL
数据库·mysql