MySQL 基础语句

MySQL 四部曲

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

文章目录

    • 1. SQL 简介
      • 1. 什么是 SQL
      • 2. SQL 分类
      • 3. SQL 基础语法
    • 2. DDL 操作数据库
      • 1. 创建数据库
      • 2. 查看数据库
      • 3. 修改数据库
        • 1. 修改数据库默认的字符集
      • 4. 删除数据库
        • 1. 删除数据库的语法
      • 5. 使用数据库
        • 1. 查看正在使用的数据库
        • 2. 使用/切换数据库
    • 3. DDL 操作表结构
      • 1. 创建表
        • 1. 格式
        • 2. 关键字说明
      • 2. MySQL 数据类型
        • 1. 常用数据类型
        • 2. 详细数据类型
          • 1. 数值类型
          • 2. 日期和时间类型
          • 3. 字符串类型
      • 3. 查看表
        • 1. 查看所有表
        • 2. 查看表结构
        • 3. 查看创建表的SQL
      • 4. 复制表
      • 5. 删除表
      • 6. 修改表
        • 1. 添加表列
        • 2. 修改表列类型
        • 3. 修改表列名
        • 4. 删除表列
        • 5. 修改表名
        • 6. 修改字符集
    • 4. DML 操作表数据
      • 1. 插入记录
        • 1. 写列名
        • 2. 不写列名
      • 2. 更新表记录
        • 1. 不带条件
        • 2. 带条件
      • 3. 删除表记录
        • 1. 带条件
        • 2. 不带条件
        • 3. 删除表中所有记录
    • 5. DQL 查询表数据
      • 1. 简单查询
        • 1. 查询所有列
        • 2. 查询指定列
      • 2. 指定列的别名进行查询
      • 3. 清除重复值
      • 4. 查询结果参与运算
        • 1. 列数据与固定值参与运算
        • 2. 某列数据和其他列数据参与运算
      • 5. 条件查询

MySQL 基础语句_第1张图片

1. SQL 简介

1. 什么是 SQL

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

2. SQL 分类

MySQL 基础语句_第3张图片

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;

MySQL 基础语句_第4张图片

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

show create database 数据库名;

示例:

show create database db1;

MySQL 基础语句_第5张图片

show create database db2;

MySQL 基础语句_第6张图片

show create database db3;

MySQL 基础语句_第7张图片

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();  #全局函数

示例:
MySQL 基础语句_第8张图片

2. 使用/切换数据库

USE 数据库名;

示例:

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

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

MySQL 基础语句_第9张图片

3. DDL 操作表结构

1. 创建表

1. 格式

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

示例:

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

MySQL 基础语句_第10张图片

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;

MySQL 基础语句_第11张图片

2. 查看表结构

DESC 表名;

示例:

DESC people;

MySQL 基础语句_第12张图片

3. 查看创建表的SQL

SHOW CREATE TABLE 表名;

示例:

SHOW CREATE TABLE people;

MySQL 基础语句_第13张图片

4. 复制表

CREATE TABLE 新表 LIKE1;

示例:

CREATE TABLE people1 LIKE people;

MySQL 基础语句_第14张图片

5. 删除表

DROP TABLE 表名;

示例:
MySQL 基础语句_第15张图片

6. 修改表

1. 添加表列

ALTER TABLE 表名 ADD 列名 类型;

示例:

ALTER TABLE people ADD class VARCHAR(20);

MySQL 基础语句_第16张图片

DESC people;

MySQL 基础语句_第17张图片

2. 修改表列类型

ALTER TABLE 表名 MODIFY 列名 新的类型;

示例:

ALTER TABLE people MODIFY class INT;

MySQL 基础语句_第18张图片

3. 修改表列名

ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;

示例:

ALTER TABLE people CHANGE class sex INT;

这里提示一下,由于MySQL中没有布尔值,可以用数值型0,1代替布尔值哦!
MySQL 基础语句_第19张图片

4. 删除表列

ALTER TABLE 表名 DROP 列名;

示例:

ALTER TABLE people DROP sex;

MySQL 基础语句_第20张图片

5. 修改表名

RENAME TABLE 表名 TO 新表名;

示例:

RENAME TABLE people TO persons;

MySQL 基础语句_第21张图片

6. 修改字符集

ALTER TABLE 表名 character set 字符集;

示例:

ALTER TABLE persons CHARACTER SET gbk;

MySQL 基础语句_第22张图片

4. DML 操作表数据

1. 插入记录

1. 写列名

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

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

示例:

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

MySQL 基础语句_第23张图片

2. 不写列名

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

示例:

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

MySQL 基础语句_第24张图片

2. 更新表记录

1. 不带条件

UPDATE 表名 SET 列名=值;

示例:

UPDATE persons SET age=age+1;

MySQL 基础语句_第25张图片

2. 带条件

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

示例:

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

MySQL 基础语句_第26张图片

3. 删除表记录

1. 带条件

DELETE FROM 表名;

示例:

DELETE FROM persons;

删除表中所有记录。
MySQL 基础语句_第27张图片

2. 不带条件

DELETE FROM 表名 WHERE 字段名=;

示例:

DELETE FROM persons WHERE age=20;

删除表中年龄20的人。
MySQL 基础语句_第28张图片

3. 删除表中所有记录

TRUNCATE TABLE 表名;

示例:

TRUNCATE TABLE persons;

MySQL 基础语句_第29张图片

5. DQL 查询表数据

1. 简单查询

1. 查询所有列

SELECT * FROM 表名;

示例:

SELECT * FROM persons;

MySQL 基础语句_第30张图片

2. 查询指定列

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

示例:

SELECT age FROM persons;

MySQL 基础语句_第31张图片

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

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

示例:

SELECT age AS 年龄 FROM persons;

MySQL 基础语句_第32张图片

3. 清除重复值

SELECT DISTINCT 字段名 FROM 表名;

示例:

SELECT DISTINCT age FROM persons;

查询不重复 age 的所有值。
MySQL 基础语句_第33张图片

4. 查询结果参与运算

1. 列数据与固定值参与运算

SELECT 列名 1 + 固定值 FROM 表名;

示例:

SELECT age+1 FROM persons;

查询年龄 +1 后的所有值
MySQL 基础语句_第34张图片

2. 某列数据和其他列数据参与运算

SELECT 列名 1 + 列名 2 FROM 表名;

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

5. 条件查询

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

示例代码:

SELECT * FROM persons WHERE age<>19;

MySQL 基础语句_第35张图片

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

MySQL 基础语句_第36张图片

你可能感兴趣的:(Java,java,sql,mysql)