MySQL 基础语句-繁依Fanyi

MySQL 四部曲

序号 文章
1 MySQL 环境搭建的四种方式
2 MySQL 基础简介及配置
3 MySQL基础语句

在这里插入图片描述

1. SQL 简介

1. 什么是 SQL

SQL,英文全称 Structured Query Language,是一种结构化查询语言,是一种关系型数据库的查询规范,用于访问和处理数据库。
SQL其实就是定义了操作所有关系型数据库的规则。
③ Oracle,MySQL,SQL Server 等每一种数据库操作的方式存在不一样的地方,从 SQL 引申出来。所以不同的数据库都支持 SQL 语言。
在这里插入图片描述

2. SQL 分类

在这里插入图片描述

DDL (Data Definition Language) – 数据定义语言

用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter

DML (Data Manipulation Language) – 数据操作语言

用来对数据库中表的数据进行增删改。关键字:insert,delete, update

DQL (Data Query Language) – 数据查询语言

用来查询数据库中表的记录(数据)。关键字:select, where

DCL (Data Control Language) – 数据控制语言

用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANTREVOKE

3. SQL 基础语法

① 每条语句以分号结尾,但在一些可视化数据库管理工具中不是必须加的
② SQL 中不区分大小写,关键字中认为大写和小写是一样的
③ SQL 中的三种注释

符号 说明
-- 单行注释
/* */ 多行注释
# 单行注释,MySQL 特有

2. DDL 操作数据库

对于数据库及数据表等操作,我们一般要记住的也就 增、删、改、查 四个操作。下面也就是对数据库和和数据表增、删、改、查操作的详细介绍。

1. 创建数据库

① 创建数据库

CREATE DATABASE 数据库名;

示例:

create database db1;

在这里插入图片描述

② 判断数据库是否已经存在,不存在则创建数据库

CREATE DATABASE IF NOT EXISTS 数据库名;

示例:

create database if not exists db2;

在这里插入图片描述

③ 创建数据库并指定字符集

CREATE DATABASE 数据库名 CHARACTER SET 字符集;

示例:

create database db3 default character set gbk;

在这里插入图片描述

2. 查看数据库

① 查看所有的数据库

show database;

在这里插入图片描述

① 查看某个数据库的定义信息

show create database 数据库名;

示例:

show create database db1;

在这里插入图片描述

show create database db2;

在这里插入图片描述

show create database db3;

在这里插入图片描述

3. 修改数据库

1. 修改数据库默认的字符集
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;

示例:修改数据库db3的默认字符集为 utf8

 alter database db3 character set utf8;

在这里插入图片描述

4. 删除数据库

1. 删除数据库的语法
DROP DATABASE 数据库名;

示例:删除数据库 db2

drop database db2;

在这里插入图片描述

5. 使用数据库

1. 查看正在使用的数据库
SELECT DATABASE();  #全局函数

示例:
在这里插入图片描述

2. 使用/切换数据库
USE 数据库名;

示例:

-- 查看正在使用的数据库
select database();

-- 改变要使用的数据库
use db4;

在这里插入图片描述

3. DDL 操作表结构

1. 创建表

1. 格式
CREATE TABLE 表名 (
	字段名 1 字段类型 1,
	字段名 2 字段类型 2,
	......
	字段名 n 字段类型 n,
)

示例:

CREATE TABLE people (
	age INT,
	NAME VARCHAR(20)
)

在这里插入图片描述

2. 关键字说明
关键字 说明
CREATE 创建
TABLE

2. MySQL 数据类型

1. 常用数据类型

常用的数据类型也就这四个,如果有需要,可以看下面的详细数据类型表。

数据类型 说明
int 整形
double 浮点型
varchar 字符串型
date 日期类型
2. 详细数据类型
1. 数值类型
类型 大小(Bytes) 范围 说明
TINYINT 1 (-128,127) 微整型
SMALLINT 2 (-32 768,32 767) 小整型
MEDIUMINT 3 (-8 388 608,8 388 607) 中整型
INT(INTEGER) 4 (-2 147 483 648,2 147 483 647) 整型
BIGINT 8 (-9 223 372 036 854 775 808,9 223 372 036 854 775 807) 大整型
FLOAT 4 (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38) 单精度浮点型
DOUBLE 8 (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308) 双精度浮点型
DECIMAL DECIMAL(M,D) ,如果M>D,为M+2否则为D+2 依赖于M和D的值 小数值
2. 日期和时间类型
类型 大小(Bytes) 范围 说明
DATA 3 1000-01-01/9999-12-31 日期类型
TIME 3 -838:59:59 / 838:59:59 时间类型
YEAR 1 1901/2155 年份类型
DATETIME 8 1000-01-01 00:00:00/9999-12-31 23:59:59 日期时间类型
3. 字符串类型
类型 大小(Bytes) 说明
CHAR 0-255 定长字符串
VARCHAR 0-65535 变长字符串
TINYBLOB 0-255 不超过 255 个字符的二进制字符串
TINYTEXT 0-255 短文本字符串
BLOB 0-65 535 二进制形式的长文本数据
TEXT 0-65 535 长文本数据
MEDIUMBLOB 0-0-16 777 215 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215 中等长度文本数据
LONGBLOB 0-4 294 967 295 二进制形式的极大文本数据
LONGTEXT 0-4 294 967 295 极大文本数据

3. 查看表

1. 查看所有表
SHOW TABLES;

在这里插入图片描述

2. 查看表结构
DESC 表名;

示例:

DESC people;

在这里插入图片描述

3. 查看创建表的SQL
SHOW CREATE TABLE 表名;

示例:

SHOW CREATE TABLE people;

在这里插入图片描述

4. 复制表

CREATE TABLE 新表 LIKE1;

示例:

CREATE TABLE people1 LIKE people;

在这里插入图片描述

5. 删除表

DROP TABLE 表名;

示例:
在这里插入图片描述

6. 修改表

1. 添加表列
ALTER TABLE 表名 ADD 列名 类型;

示例:

ALTER TABLE people ADD class VARCHAR(20);

在这里插入图片描述

DESC people;

在这里插入图片描述

2. 修改表列类型
ALTER TABLE 表名 MODIFY 列名 新的类型;

示例:

ALTER TABLE people MODIFY class INT;

在这里插入图片描述

3. 修改表列名
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;

示例:

ALTER TABLE people CHANGE class sex INT;

这里提示一下,由于MySQL中没有布尔值,可以用数值型0,1代替布尔值哦!
在这里插入图片描述

4. 删除表列
ALTER TABLE 表名 DROP 列名;

示例:

ALTER TABLE people DROP sex;

在这里插入图片描述

5. 修改表名
RENAME TABLE 表名 TO 新表名;

示例:

RENAME TABLE people TO persons;

在这里插入图片描述

6. 修改字符集
ALTER TABLE 表名 character set 字符集;

示例:

ALTER TABLE persons CHARACTER SET gbk;

在这里插入图片描述

4. DML 操作表数据

1. 插入记录

1. 写列名

可以不写所有列名,这时插入的是部分数据。

INSERT INTO 表名 (列名1,列名2,...) VALUES (1,2,...);

示例:

INSERT INTO persons (age,NAME) VALUES(19,'小红');

在这里插入图片描述

2. 不写列名
INSERT INTO 表名 VALUES (1,2,);

示例:

INSERT INTO persons VALUES(20,'小兰');

在这里插入图片描述

2. 更新表记录

1. 不带条件
UPDATE 表名 SET 列名=值;

示例:

UPDATE persons SET age=age+1;

在这里插入图片描述

2. 带条件
UPDATE 表名 SET 列名=[WHERE 条件表达式]

示例:

UPDATE persons SET NAME='小明' WHERE NAME='小红';

在这里插入图片描述

3. 删除表记录

1. 带条件
DELETE FROM 表名;

示例:

DELETE FROM persons;

删除表中所有记录。
在这里插入图片描述

2. 不带条件
DELETE FROM 表名 WHERE 字段名=;

示例:

DELETE FROM persons WHERE age=20;

删除表中年龄20的人。
在这里插入图片描述

3. 删除表中所有记录
TRUNCATE TABLE 表名;

示例:

TRUNCATE TABLE persons;

在这里插入图片描述

5. DQL 查询表数据

1. 简单查询

1. 查询所有列
SELECT * FROM 表名;

示例:

SELECT * FROM persons;

在这里插入图片描述

2. 查询指定列
SELECT 列名 1, 列名 2, ... FROM 表名;

示例:

SELECT age FROM persons;

在这里插入图片描述

2. 指定列的别名进行查询

SELECT 列名 1 AS 别名, 列名 2 AS 别名... FROM 表名;

示例:

SELECT age AS 年龄 FROM persons;

在这里插入图片描述

3. 清除重复值

SELECT DISTINCT 字段名 FROM 表名;

示例:

SELECT DISTINCT age FROM persons;

查询不重复 age 的所有值。
在这里插入图片描述

4. 查询结果参与运算

1. 列数据与固定值参与运算
SELECT 列名 1 + 固定值 FROM 表名;

示例:

SELECT age+1 FROM persons;

查询年龄 +1 后的所有值
在这里插入图片描述

2. 某列数据和其他列数据参与运算
SELECT 列名 1 + 列名 2 FROM 表名;

要注意,列中的值类型要为数值型

5. 条件查询

比较运算符 说明
>、<、<=、>=、=、<> 注意:<>在 SQL 中表示不等于,在 mysql 中也可以使用!=
BETWEEN…AND 表示一个范围
IN 表示某些值是否在集合中
LIKE ‘_%’ 模糊查询
IS NULL 查询某一列是否为 NULL
and、or、not 逻辑运算符

示例代码:

SELECT * FROM persons WHERE age<>19;

在这里插入图片描述

SELECT * FROM persons WHERE age NOT IN (19,20,22);

在这里插入图片描述

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容