#cda打卡 #sql学习

SQL简介

  • SQL(Structured Query Language)简介
    • SQL是一种用于管理关系数据库管理系统(RDBMS)的标准化语言。
    • 它用于执行各种任务,包括检索数据、更新数据、插入数据和删除数据等。

SQL的五大类

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

    • DDL用于定义数据库结构,包括创建、修改和删除数据库对象,如表格(Tables)、索引(Indexes)、视图(Views)等。常见的DDL命令有CREATE、ALTER和DROP等。
  2. DML(Data Manipulation Language)数据操作语言

    • DML用于操作数据库中的数据,包括插入、更新、删除和查询数据等。常见的DML命令有INSERT、UPDATE、DELETE和SELECT等。
  3. DQL(Data Query Language)数据查询语言

    • DQL用于从数据库中检索数据,是SQL中最常用的部分。通过DQL,可以根据特定的条件过滤数据,并进行排序、分组和连接操作等。常见的DQL命令是SELECT。
  4. DCL(Data Control Language)数据控制语言

    • DCL用于控制数据库访问权限,包括授予和撤销访问权限。通过DCL,可以管理用户的权限,确保数据的安全性。常见的DCL命令有GRANT和REVOKE等。
  5. TCL(Transaction Control Language)事务控制语言

    • TCL用于管理数据库事务,包括事务的开始、提交和回滚等。通过TCL,可以确保数据库操作的原子性、一致性、隔离性和持久性(ACID特性)。常见的TCL命令有START TRANSACTION、COMMIT和ROLLBACK等。

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

  • 用于定义数据库结构,包括创建、修改和删除数据库对象。

相关代码示例

-- 创建表格
CREATE TABLE Students (
    StudentID INT PRIMARY KEY,
    Name VARCHAR(50),
    Age INT,
    Grade CHAR(1)
);

-- 修改表格
ALTER TABLE Students
ADD COLUMN Email VARCHAR(100);

-- 删除表格
DROP TABLE Students;

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

  • 用于操作数据库中的数据,包括插入、更新、删除和查询数据等。

相关代码示例:

-- 插入数据
INSERT INTO Students (StudentID, Name, Age, Grade)
VALUES (1, 'John', 20, 'A');

-- 更新数据
UPDATE Students
SET Age = 21
WHERE StudentID = 1;

-- 删除数据
DELETE FROM Students
WHERE StudentID = 1;

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

  • 用于从数据库中检索数据。

相关代码示例:

-- 查询数据
SELECT * FROM Students;

-- 使用条件查询
SELECT * FROM Students
WHERE Age > 18;

-- 使用JOIN进行多表查询
SELECT Students.Name, Courses.CourseName
FROM Students
INNER JOIN Courses ON Students.StudentID = Courses.StudentID;

SQL数据类型

1. 整型(Integer Types): 用于存储整数值,包括INTINTEGERSMALLINTTINYINTBIGINT等。

2. 浮点型(Floating-Point Types): 用于存储浮点数值,包括FLOATDOUBLE(双精度浮点数)等。

3. 字符串型(Character Types): 用于存储字符序列,包括CHARVARCHARTEXT等。其中,CHAR是固定长度的字符型,VARCHAR是可变长度的字符型,TEXT用于存储大量文本数据。

4. 日期与时间型(Date and Time Types): 用于存储日期和时间信息,包括DATETIMEDATETIMETIMESTAMP等。

5. 二进制型(Binary Types): 用于存储二进制数据,包括BINARYVARBINARYBLOB等。


SQL函数

1. 字符串函数:

  • CONCAT(str1, str2, ...): 将多个字符串连接成一个字符串。
  • SUBSTRING(str, start, length): 返回指定子字符串。
  • UPPER(str): 将字符串转换为大写。
  • LOWER(str): 将字符串转换为小写。
  • LENGTH(str): 返回字符串的长度。

2. 数值函数:

  • ABS(x): 返回一个数的绝对值。
  • ROUND(x, d): 返回一个数值的近似值,其中d是要舍入的小数位数。
  • CEIL(x): 返回大于或等于指定数的最小整数。
  • FLOOR(x): 返回小于或等于指定数的最大整数。

3. 日期与时间函数:

  • NOW(): 返回当前日期和时间。
  • DATE_FORMAT(date, format): 将日期格式化为指定的格式。
  • DATEDIFF(date1, date2): 返回两个日期之间的天数差。
  • DATE_ADD(date, INTERVAL value unit): 将指定的时间间隔添加到日期上。

4. 聚合函数(Aggregate Functions):

  • COUNT(expr): 返回表中满足条件的行数。
  • SUM(expr): 返回表中某列的总和。
  • AVG(expr): 返回表中某列的平均值。
  • MAX(expr): 返回表中某列的最大值。
  • MIN(expr): 返回表中某列的最小值。

5. 条件函数:

  • IF(condition, expr1, expr2): 如果条件成立,则返回expr1,否则返回expr2。
  • CASE expr WHEN value1 THEN result1 WHEN value2 THEN result2 ... ELSE default_result END: 用于多条件判断,类似于switch-case语句。

6. 数学函数:

  • SQRT(x): 返回一个数的平方根。
  • POWER(x, y): 返回x的y次方。
  • LOG(x): 返回x的自然对数。
  • RAND(): 返回一个0到1之间的随机数。
  • 43
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值