SQL 语句分类
- Data Definition Language (DDL 数据定义语言) 如:建库,建表
- Data Manipulation Language(DML 数据操纵语言),如:对表中的记录操作增删改
- Data Query Language(DQL 数据查询语言),如:对表中的查询操作
- Data Control Language(DCL 数据控制语言),如:对用户权限的设置
MySQL 的语法
- 每条语句以分号结尾,如果在 SQLyog 中不是必须加的。
- SQL 中不区分大小写,关键字中认为大写和小写是一样的
- 3 种注释:
注释的语法 |
说明 |
--空格 |
单行注释 |
/* */ |
多行注释 |
# |
这是 mysql 特有的注释方式 |
创建数据库的几种方式
创建数据库
CREATE DATABASE 数据库名;
判断数据库是否已经存在,不存在则创建数据库
CREATE DATABASE IF NOT EXISTS 数据库名;
创建数据库并指定字符集
CREATE DATABASE 数据库名 CHARACTER SET 字符集;
查看所有的数据库
show databases;
修改数据库默认的字符集
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;
删除数据库的语法
DROP DATABASE 数据库名;
查看正在使用的数据库
SELECT DATABASE(); 使用的一个 mysql 中的全局函数
6.5.2 使用/切换数据库
USE 数据库名;
创建表的格式
CREATE TABLE 表名 ( 字段名 1 字段类型 1, 字段名 2 字段类型 2 );
7.1.2 关键字说明:
创建表的关键字 |
说明 |
CREATE |
创建 |
TABLE |
表 |
常使用的数据类型如下:
查看某个数据库中的所有表
SHOW TABLES;
查看表结构
DESC 表名;
查看创建表的 SQL 语句
SHOW CREATE TABLE 表名;
快速创建一个表结构相同的表语法
CREATE TABLE 新表名 LIKE 旧表名;
直接删除表
DROP TABLE 表名;
判断表是否存在,如果存在则删除表
DROP TABLE IF EXISTS 表名;
添加表列 ADD
ALTER TABLE 表名 ADD 列名 类型;
修改列类型 MODIFY
ALTER TABLE 表名 MODIFY列名 新的类型;
修改表名
RENAME TABLE 表名 TO 新表名;
修改字符集 character set
ALTER TABLE 表名 character set 字符集;
插入记录
INSERT [INTO] 表名 [字段名] VALUES (字段值) |
INSERT INTO 表名:表示往哪张表中添加数据 (字段名 1, 字段名 2, …):要给哪些字段设置值 VALUES (值 1, 值 2, …):设置具体的值 |
- 所有的字段名都写出来
INSERT INTO 表名 (字段名1, 字段名2, 字段名3…) VALUES (值1, 值2, 值3);
不写字段名
INSERT INTO 表名 VALUES (值1, 值2, |
值3…); |
插入部分数据 |
|
INSERT INTO 表名 (字段名1, 字段名2, |
...) VALUES (值1, 值2, ...); |
查看包含 character 开头的全局变量
show variables like 'character%';
- 将表名2中的所有的列复制到表名1中
INSERT INTO 表名 1 SELECT * FROM 表名 2;
- 将表名2中的所有的列复制到表名1中
INSERT INTO 表名 1 SELECT * FROM 表名 2;
更新表记录
UPDATE 表名 SET 列名=值 [WHERE 条件表达式] |
UPDATE: 需要更新的表名 SET: 修改的列值 WHERE: 符合条件的记录才更新 |
不带条件修改数据
UPDATE 表名 SET 字段名=值; -- 修改所有的行
带条件修改数据
UPDATE 表名 SET 字段名=值 WHERE 字段名=值;
DELETE FROM 表名 [WHERE 条件表达式] |
如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。 你可以在 WHERE 子句中指定任何条件 |
不带条件删除数据
DELETE FROM 表名;
带条件删除数据
DELETE FROM 表名 WHERE 字段名=值;
使用 truncate 删除表中所有记录
TRUNCATE TABLE 表名;
truncate 和 delete 的区别: truncate 相当于删除表的结构,再创建一张表。
-- 带条件删除数据,删除id为1的记录 delete from student where id=1;
-- 不带条件删除数据,删除表中的所有数据 delete from student;
DQL 查询表中的数据查询不会对数据库中的数据进行修改.只是一种显示数据的方式
SELECT 列名 FROM 表名 [WHERE 条件表达式] |
- SELECT 命令可以读取一行或者多行记录。
- 你可以使用星号(*)来代替其他字段,SELECT 语句会返回表的所有字段数据
- 你可以使用 WHERE 语句来包含任何条件。
|
查询表所有行和列的数据
l 使用*表示所有列
SELECT * FROM 表名;
查询指定列
- 查询指定列的数据,多个列之间以逗号分隔
SELECT 字段名1, 字段名2, 字段名3, ... FROM 表名;
- 对列指定别名
SELECT 字段名1 AS 别名, 字段名2 AS 别名... FROM 表名;
- 对列和表同时指定别名
SELECT 字段名1 AS 别名, 字段名2 AS 别名... FROM 表名 AS 表别名;
查询指定列并且结果不出现重复数据
SELECT DISTINCT 字段名 FROM 表名;
某列数据和固定值运算
SELECT 列名 1 + 固定值 FROM 表名;
某列数据和其他列数据参与运算
SELECT 列名 1 + 列名 2 FROM 表名;
条件查询的语法
SELECT 字段名 FROM 表名 WHERE 条件; |
流程:取出表中的每条数据,满足条件的记录就返回,不满足条件的记录不返回 |
- 运算符
比较运算符 |
说明 |
>、<、<=、>=、=、<> |
<>在 SQL 中表示不等于,在 mysql 中也可以使用!= 没有== |
BETWEEN...AND |
在一个范围之内,如:between 100 and 200 相当于条件在 100 到 200 之间,包头又包尾 |
IN(集合) |
集合表示多个值,使用逗号分隔 |
LIKE '张%' |
模糊查询 |
IS NULL |
查询某一列为 NULL 的值,注:不能写=NULL |
- 逻辑运算符
逻辑运算符 |
说明 |
and 或 && |
与,SQL 中建议使用前者,后者并不通用。 |
or 或 || |
或 |
not 或 ! |
非 |
- in 关键字
SELECT 字段名 FROM 表名 WHERE 字段 in (数据 1, 数据 2...); |
in 里面的每个数据都会作为一次条件,只要满足条件的就会显示 |
- 范围查询
BETWEEN 值 1 AND 值 2 |
表示从值 1 到值 2 范围,包头又包尾 |
比如:age BETWEEN 80 AND 100 相当于: age>=80 && age<=100 |
- like 关键字
LIKE 表示模糊查询 |
SELECT * FROM 表名 WHERE 字段名 LIKE '通配符字符串'; |
转载于:https://my.oschina.net/u/4167465/blog/3078376
分享到:
相关推荐
数据库 MySQL 学习笔记高级篇.md
MySQL是世界上最受欢迎的关系型数据库管理系统之一,尤其在Web应用...学习MySQL不仅涉及理论知识,还需要大量的实践操作来熟悉其语法和功能。掌握MySQL能让你在数据管理、Web开发和系统集成等领域具备更强的竞争力。
MySQL学习笔记.chmMySQL学习笔记.chmMySQL学习笔记.chmMySQL学习笔记.chm
学习MySQL需要掌握SELECT语句用于查询数据,INSERT用于插入数据,UPDATE用于更新数据,DELETE用于删除数据,以及CREATE、ALTER、DROP等用于数据库和表结构的管理。 四、数据库与表 在MySQL中,数据库是存储数据的...
MySQL是世界上最受欢迎的开源关系型数据库管理系统...通过这份学习笔记,读者将能够系统地学习MySQL,并逐步提升自己的数据库管理技能。对于希望在IT领域尤其是数据库方向发展的人来说,这是一份非常有价值的学习资料。
### MySQL核心技术学习笔记 #### 一、为什么要学习数据库 学习数据库的重要性主要体现在以下几个方面: 1. **持久化数据到本地**:数据库能够将应用程序产生的数据持久化存储在磁盘上,即使系统重启也不会丢失...
### MySQL学习笔记1:深入理解内连接与外连接 #### 一、引言 在数据库管理与查询过程中,连接操作是十分常见且重要的一个环节。MySQL作为一种广泛使用的开源关系型数据库管理...希望本文能够对你学习MySQL有所帮助。
MySQL 是一款广泛使用的开源关系型数据库管理系统,其学习笔记涵盖了多个关键知识点。以下是对这些知识点的详细解释: 1. **MySQL 体系架构** - **网络连接层**:处理客户端的连接请求,包括连接管理、认证和安全...
在开始学习MySQL之前,你需要了解如何在不同的操作系统上安装MySQL服务器,如Windows、Linux或Mac OS。安装完成后,配置文件my.cnf用于设置服务器参数,如端口号、默认字符集等。 2. **SQL基础**: SQL(结构化...
mysql入门学习笔记整理,如何创建数据库、查看数据库,删除数据库,创建表和对表字段类型操作、约束、mysql数据类型整理
非常详细的mysql学习笔记,3积分绝对值。内容分为基础架构、日志系统、事务隔离、索引、锁、sql偶尔变慢的问题、数据空洞、排序、慢sql解析九大模块。
尚硅谷的MySQL笔记可能是为了帮助学习者深入理解和掌握MySQL的相关知识而编写的。这份笔记可能包含了从基础概念到高级特性的全面讲解,包括但不限于SQL语言、数据类型、数据库设计、索引、事务处理、视图、存储过程...
### MySQL学习笔记知识点详解 #### 一、数据库概述 数据库是指按照特定的数据结构来组织、存储和管理数据的集合体。随着信息技术的进步和社会需求的增长,数据库已经从最初的简单存储发展成为用户所需的各种复杂...
尚硅谷MySQL高级的视频学习笔记,由本人整理
这份"超经典mysql DBA学习笔记"涵盖了成为一名优秀DBA所需掌握的众多知识点,旨在帮助学习者深入理解MySQL数据库的运维与优化。 一、MySQL概述 MySQL是一种开源、免费的关系型数据库管理系统,广泛应用于互联网应用...
从给定的文件信息来看,本文档主要围绕“MySQL学习笔记—JSP操作MySQL”的主题展开,详细介绍了如何在JSP环境下操作MySQL数据库的过程。以下是对该文档中的关键知识点进行的深入解析: ### 一、MySQL与JSP的集成 ...
这份“mysql学习笔记”涵盖了MySQL的基础知识,包括但不限于数据库的概念、SQL语言的使用、以及更深入的多表操作。 在“day08入门笔记”中,你可能会学到以下内容: 1. **数据库基本概念**:了解什么是数据库,...
MySQL OCP 超详细学习笔记$pdf MySQL OCP 超详细学习笔记.pdf 是一份详细的 MySQL 学习笔记,旨在帮助 MySQL DBA master 数据库管理的知识和技能。本笔记涵盖了 MySQL 的多个方面,包括 MySQL 的配置、性能优化、...
mysql学习笔记