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 筛选条件 ;
相关推荐
weixin_472339462 分钟前
Postgresql与openguass对比
数据库·postgresql
程序员曼布1 小时前
主从架构:技术原理与实现
redis·mysql·架构
惊起白鸽4505 小时前
MySQL全量,增量备份与恢复
数据库·mysql
暮雨疏桐6 小时前
MySQL SQL Mode及其说明
数据库·sql·mysql·sql mode
Tangcan-6 小时前
【MySQL】数据库基础
数据库·mysql
蔡蓝7 小时前
Mysql的索引,慢查询和数据库表的设计以及乐观锁和悲观锁
数据库·mysql
jstart千语7 小时前
【Redis】分布式锁的实现
数据库·redis·分布式
一把年纪学编程8 小时前
【牛马技巧】word统计每一段的字数接近“字数统计”
前端·数据库·word
极小狐8 小时前
极狐GitLab 通用软件包存储库功能介绍
java·数据库·c#·gitlab·maven
钢铁男儿8 小时前
C# 方法(可选参数)
数据库·mysql·c#