一、数据库基础知识
什么是数据库?
1、数据库(Database,简称DB):存放数据的仓库。其基本功能为:保存、管理数据。
.2、数据库管理系统(Database Management System,简称DBMS):DBMS位于用户与操作系统之间,以保证数据库的安全性和完整性(MySQL就是DBMS)。
3、数据库应用系统(Database Application System,简称DBAS):DBAS由数据库和应用程序两部分组成,是基于数据库的应用软件。
4、数据库系统(Database System,简称DBS):DBS是指引入数据库技术的计算机系统。通常由DB、DBMS、应用程序、数据库系统管理员(DBA)和用户组成。
注: 数据库由数据库管理系统创建,而应用程序可以由任何支持数据库编程的程序设计语言编写,如Java、C#、php等。
什么是SQL语言?
1、SQL是结构化查询语言(Structured Query Language),是一种用于管理关系型数据库(例如MySQL、Oracle、Microsoft SQL Server等)的标准语言。 SQL语言包含许多语句和操作,可以用于查询、插入、更新和删除数据,以及管理表、索引和视图等数据库对象。SQL语言的常见命令包括SELECT、FROM、WHERE、INSERT、UPDATE、DELETE、CREATE、ALTER、DROP等。
2、SQL语言的主要特点:
(1)功能强大,风格统一,直观简捷,易学易用;
(2)高度非过程化;
(3)面向集合的操作方式;
(4)既是自含式语言,又是嵌入式语言,以同一种语法结构提供两种使用方式。
3、SQL书写规则:
(1)以英文 ; 结尾;
(2)单词需以半角空格或换行符分隔;
(3)SQL语句不区分大小写【注:插入列表中的数据区分大小写】;
(4)常数书写方式是固定的;
MySQL数据类型
日期时间类型 | year、timestamp、time、date、datetime |
字符串类型 | set、enum、blob、text、varchar、char |
整数型 | tinyint、smallint、mediumint、int、bigint |
浮点型 | float、double |
定点型 | decimal |
二、数据库和数据表的操作
数据库
1.数据库的创建
语句:CRATE DATABASE [IF NOT EXISTS]数据库名称[库选项];
注:IF NOT EXISTS可选项:如果数据库不存在,则创建数据库;防止创建的数据库已存在,程序报错。
2.查看MySQL服务器下的所有数据库
语句:SHOW DATABASE;
3.查看指定数据库的创建信息
语句:SHOW CREATE DATABASE 数据库名称;
示例:SHOW CREATE DATABASE mydb;
4.选择数据库
语句:USE 数据库名称;
5.删除数据库
语句:DROP DATABASE [IF EXISTS] 数据库名称;
注:IF EXISTS可选项:如果数据库存在,则删除数据库;防止创建的数据库不存在,程序报错。
数据表
1.创建数据表
语句:CREATE TABLE <表名>;
2.查看数据表
语句:SHOW TABLES [LIKE 匹配模式];
注:省略可选项,表示查看当前数据库中所有数据表。
添加可选项,则按照“匹配模式”查看数据表。
匹配模式符:“%”匹配一个或多个字符。代表任意长度的字符串。
匹配模式符:“_”仅匹配一个字符。
3.查看表结构(字段信息)、查看表
语句:DESC DESCRIBE 数据库表名;
功能:查看所有字段的信息;
语句:DESC DESCRIBE 数据库表名 字段名;
功能:查看指定字段的信息;
语句:SHOW CREATE TABLE 表名;
功能:查看创建数据表的具体SQL语句,含字符编码。
4.删除数据表
语句:DROP TABLE[IF EXISTS] 数据表1[,数据表2];
注:IF EXISTS用于在删除一个不存在的数据表时,防止产生错误。
三、数据的操作
1.数据的插入
语句:INSERT [INTO] 表名 [(字段1,字段2,...)]
VALUES(值1,值2,...)[,(值1,值2,...)];
简化格式:INSERT INTO 表名VALUES(值1,值2,...,值n);
注:对于不允许为空值且为设置默认值的列,在插入数据时不可忽略。
2.数据的修改
语句:UPDATE 表名
SET 字段1=值1[, 字段2=值2,......]
[WHERE 条件表达式];
3.数据的删除
语句:DELETE FROM 表名 [WHERE 条件表达式];
四、表的约束
约束类型 | 约束关键字 | 说明 |
域完整性 | NOT_NULL | 非空约束 |
DEFAULT | 默认值约束 | |
实体完整性 | PRIMAKY KEY | 主键约束(用于唯一标识行) |
UNIQUE | 唯一约束 | |
AUTO_INCREMENT | 自增约束(由系统实现唯一性) | |
参照完整性 | FOREIGN KEY | 外键约束 |
五、单表查询
1.SELECT语句:SELECT语句是MySQL中最基本的查询语句。它允许你从一个或多个表中选择数据。
语句:SELECT *| {字段名1,字段名2,字段名3,...} FROM 表名;
2.WHERE子句:WHERE子句用于限制查询结果的行数,使用条件表达式来指定所需的数据。
3.ORDER BY子句:ORDER BY子句用于对查询结果进行排序,可以按照一个或多个列进行排序。
语法:ORDER BY 字段名[ASC|DESC]
注:ASC 升序,DESC 降序,缺省值为升序。
4.LIMIT子句:LIMIT子句用于限制查询结果的行数,可以指定要返回的行数的数量。
语法:LIMIT [偏移量,] 记录数
5.GROUP BY子句:GROUP BY子句用于将查询结果分组,可以按照一个或多个列进行分组。
语法:GROUP BY 字段名
6.HAVING子句:HAVING子句用于限制分组的结果集,可以使用条件表达式来指定所需的数据。
语法:SELECT 查询列表 FROM 数据表名
[WHERE 条件表达式]
GROUP BY 字段名[ASC|DESC] [,...]
HAVING 条件表达式;
7.JOIN操作:JOIN操作用于将两个或多个表中的数据连接在一起。MySQL支持多种类型的JOIN操作,包括INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN等。
8.聚合函数:MySQL中的聚合函数可以对查询结果进行统计,包括SUM、AVG、MAX、MIN和COUNT等。
六、多表查询
1.连接查询:连接查询又分为内连接和外连接,内连接只返回两个表格中匹配的行,外连接则返回两个表格中所有的行,其中未匹配的行用 NULL 填充。
内连接:
语法:SELECT 查询列表
FROM 表1,表2
WHERE 表2.公共列=表1.公共列;
外连接:
2.子查询 :子查询是指在查询中嵌套一个查询语句,在外层查询中使用内层查询返回的结果进行查询操作。
语法:SELECT * FROM table1 WHERE column IN (SELECT column FROM table2);
七、函数
1.字符串函数:MySQL 中有很多字符串函数,如 CONCAT、SUBSTRING、TRIM 等,这些函数可以用来对字符串进行处理和操作。
2.数学函数:MySQL 中的数学函数包括 ABS、CEILING、FLOOR、ROUND、RAND 等,这些函数可以用来进行基本的数学运算和操作。
3.日期和时间函数:MySQL 中的日期和时间函数包括 NOW、DATE、TIME、YEAR、MONTH、DAYOFMONTH 等,这些函数可以用来对日期和时间进行处理和操作。
4.聚合函数:MySQL 中的聚合函数包括 AVG、COUNT、MAX、MIN、SUM 等,这些函数可以用来对数据进行聚合和统计。
5.控制流函数:MySQL 中的控制流函数包括 IF、CASE、WHILE、LOOP 等,这些函数可以用来实现条件判断、循环和分支控制等逻辑操作。
IF函数
语法:IF 条件1 THEN 语句序列1
[ELSEIF 条件2 THEN 语句序列1 ] ...
[ELSE 语句序列e]
END IF
CASE 函数
语法:CASE 表达式
WHEN 值1 THEN 语句序列1
[WHEN 值2 THEN 语句序列2 ]...
[ELSE 语句序列e ]
END CASE
WHILE函数
语法:WHILE 条件 DO
程序段
END WHILE
LOOP函数
[语句标号:]LOOP
程序段
END LOOP[语句标号]
6.系统函数:MySQL 中的系统函数包括 DATABASE、USER、VERSION、NOW 等,这些函数可以用来获取数据库、用户、版本信息等系统级别的信息。
以上就是小编对数据库知识的总结,谢谢观看!