0
点赞
收藏
分享

微信扫一扫

MySQL 基础语句

目标践行者 2022-03-24 阅读 66
javasqlmysql

文章目录

在这里插入图片描述

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)范围说明
TINYINT1(-128,127)微整型
SMALLINT2(-32 768,32 767)小整型
MEDIUMINT3(-8 388 608,8 388 607)中整型
INT(INTEGER)4(-2 147 483 648,2 147 483 647)整型
BIGINT8(-9 223 372 036 854 775 808,9 223 372 036 854 775 807)大整型
FLOAT4(-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)单精度浮点型
DOUBLE8(-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)双精度浮点型
DECIMALDECIMAL(M,D) ,如果M>D,为M+2否则为D+2依赖于M和D的值小数值
2. 日期和时间类型
类型大小(Bytes)范围说明
DATA31000-01-01/9999-12-31日期类型
TIME3-838:59:59 / 838:59:59时间类型
YEAR11901/2155年份类型
DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59日期时间类型
3. 字符串类型
类型大小(Bytes)说明
CHAR0-255定长字符串
VARCHAR0-65535变长字符串
TINYBLOB0-255不超过 255 个字符的二进制字符串
TINYTEXT0-255短文本字符串
BLOB0-65 535二进制形式的长文本数据
TEXT0-65 535长文本数据
MEDIUMBLOB0-0-16 777 215二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215中等长度文本数据
LONGBLOB0-4 294 967 295二进制形式的极大文本数据
LONGTEXT0-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逻辑运算符
举报

相关推荐

0 条评论