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 筛选条件 ;
相关推荐
莳花微语1 分钟前
使用MyCAT实现分布式MySQL双主架构
分布式·mysql·架构
he258197 分钟前
centOS 7.9 安装JDK MYSQL
java·mysql·centos
夜泉_ly2 小时前
MySQL -安装与初识
数据库·mysql
qq_529835353 小时前
对计算机中缓存的理解和使用Redis作为缓存
数据库·redis·缓存
月光水岸New6 小时前
Ubuntu 中建的mysql数据库使用Navicat for MySQL连接不上
数据库·mysql·ubuntu
狄加山6756 小时前
数据库基础1
数据库
我爱松子鱼6 小时前
mysql之规则优化器RBO
数据库·mysql
chengooooooo6 小时前
苍穹外卖day8 地址上传 用户下单 订单支付
java·服务器·数据库
Rverdoser7 小时前
【SQL】多表查询案例
数据库·sql
Galeoto7 小时前
how to export a table in sqlite, and import into another
数据库·sqlite