当前位置: 首页> 教育> 高考 > 广东品牌网站建设哪家好_成都今天消息_百度权重划分等级_seo优化几个关键词

广东品牌网站建设哪家好_成都今天消息_百度权重划分等级_seo优化几个关键词

时间:2025/8/27 4:45:27来源:https://blog.csdn.net/qq_62174860/article/details/142286103 浏览次数:0次
广东品牌网站建设哪家好_成都今天消息_百度权重划分等级_seo优化几个关键词
  • 一、SQL简述

    • 1.SQL的概述

      • Structure Query Language(结构化查询语言)简称SQL,它被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。数据库管理系统可以通过SQL管理数据库;定义和操作数据,维护数据的完整性和安全性。

    • 2.SQL的优点

      • 1、简单易学,具有很强的操作性
        2、绝大多数重要的数据库管理系统均支持SQL
        3、高度非过程化;用SQL操作数据库时大部分的工作由DBMS自动完成

    • 3.SQL的分类

      • 1、DDL(Data Definition Language) 数据定义语言,用来操作数据库、表、列等; 常用语句:CREATE、 ALTER、DROP
        2、DML(Data Manipulation Language) 数据操作语言,用来操作数据库中表里的数据;常用语句:INSERT、 UPDATE、 DELETE
        3、DCL(Data Control Language) 数据控制语言,用来操作访问权限和安全级别; 常用语句:GRANT、DENY
        4、DQL(Data Query Language) 数据查询语言,用来查询数据 常用语句:SELECT

  • 二、数据库的三大范式

    • 1、第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据线;也就是说:每列的值具有原子性,不可再分割。

    • 2、第二范式(2NF)是在第一范式(1NF)的基础上建立起来得,满足第二范式(2NF)必须先满足第一范式(1NF)。如果表是单主键,那么主键以外的列必须完全依赖于主键如果表是复合主键,那么主键以外的列必须完全依赖于主键,不能仅依赖主键的一部分。

    • 3、第三范式(3NF)是在第二范式的基础上建立起来的,即满足第三范式必须要先满足第二范式。第三范式(3NF)要求:表中的非主键列必须和主键直接相关而不能间接相关;也就是说:非主键列之间不能相关依赖。

  • 三、数据库的数据类型

    • 1.整数类型

      • TINYINT:占用 1 字节,范围为 -128 到 127,或者 0 到 255(无符号)。
      • SMALLINT:占用 2 字节,范围为 -32,768 到 32,767,或者 0 到 65,535(无符号)。
      • MEDIUMINT:占用 3 字节,范围为 -8,388,608 到 8,388,607,或者 0 到 16,777,215(无符号)。
      • INT / INTEGER:占用 4 字节,范围为 -2,147,483,648 到 2,147,483,647,或者 0 到 4,294,967,295(无符号)。
      • BIGINT:占用 8 字节,范围为 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807,或者 0 到 18,446,744,073,709,551,615(无符号)。
      • 使用整数类型时,可以指定是否使用无符号(UNSIGNED),这可以让你存储更大的正数。
    • 2.浮点数类型和定点数类型

      • 浮点数类型
        • FLOAT:单精度浮点数,占用 4 字节。适合存储较小范围的浮点数。
        • DOUBLE:双精度浮点数,占用 8 字节。适合存储较大范围的浮点数。
      • 定点数类型
        • DECIMAL(M, D):定点数,存储精确的小数。M 表示数的总位数,D 表示小数点后的位数。DECIMAL 不会有浮点数的舍入误差问题,适合存储货币或高精度要求的数据。
    • 3.字符串类型

      • CHAR(M):固定长度的字符串,长度最多为 255 个字符。即使实际存储的字符少于指定长度,也会填充空格。
      • VARCHAR(M):可变长度的字符串,最多可以存储 65,535 个字符。实际占用的空间与存储的数据长度有关。
      • TEXT:适合存储大段文本,有多种类型:
        • TINYTEXT:最多存储 255 个字符。
        • TEXT:最多存储 65,535 个字符。
        • MEDIUMTEXT:最多存储 16,777,215 个字符。
        • LONGTEXT:最多存储 4,294,967,295 个字符。
      • ENUM:字符串对象,允许从预定义的一组值中选择一个。比如 ENUM('small', 'medium', 'large')
      • SET:字符串对象,可以从一组值中选择一个或多个。
    • 5.日期与时间类型

      • 5.1 YEAR类型

        • YEAR:存储的格式为 YYYY,可以表示 1901 到 2155 之间的年份。
      • 5.2 TIME类型

        • TIME:存储的格式为 HH:MM:SS,表示一天中的时间或时间间隔,范围从 -838:59:59838:59:59
      • 5.3 DATETIME类型

        •   DATETIME:存储的格式为 YYYY-MM-DD HH:MM:SS,表示特定日期和时间,范围从 1000-01-01 00:00:009999-12-31 23:59:59DATETIME 不会随着时区变化而改变。
      • 5.4 TIMESTAMP类型

        • TIMESTAMP:存储的格式也是 YYYY-MM-DD HH:MM:SS,范围从 1970-01-01 00:00:01 UTC2038-01-19 03:14:07 UTC。适合用于记录数据的创建时间和更新时间。
    • 6.二进制类型

      • BINARY(M):存储固定长度的二进制字符串,长度最多为 255 字节。类似于 CHAR,但存储二进制数据。

      • VARBINARY(M):存储可变长度的二进制字符串,长度最多为 65,535 字节。类似于 VARCHAR,但用于存储二进制数据。

      • BLOB:适合存储大量二进制数据,有多种类型:

        • TINYBLOB:最多存储 255 字节。
        • BLOB:最多存储 65,535 字节。
        • MEDIUMBLOB:最多存储 16,777,215 字节。
        • LONGBLOB:最多存储 4,294,967,295 字节。
  • 四、数据库、数据表的基本操作

    • 1.数据库的基本操作

      • 1.1 创建数据库
        • CREATE DATABASE 数据库名;(默认utf8)
        • CREATE DATABASE 数据库名  CHARACTER SET 编码  COLLATE utf8mb4_general_ci;
      • 1.2 查看数据库
        • SHOW DATABASES;
      • 1.3 使用数据库
        • USE 数据库名;
      • 1.4 删除数据库
        • DROP DATABASE 数据库名;
    • 2.数据表的基本操作

      • 2.1 创建数据表

        • CREATE TABLE 表名(
              字段名1  数据类型  约束条件,
              字段名2  数据类型  约束条件,
              ...
          );
        • CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,
          --primary key是设置主键,auto_increment是自动添加name VARCHAR(50) NOT NULL,age INT,email VARCHAR(100)
          );
          
      • 2.2 查看数据表

        • 查看表结构:使用 DESCRIBESHOW COLUMNS 查看表的列定义。
          • DESCRIBE 表名;
          • SHOW COLUMNS FROM 表名;
        • 查看所有表:使用 SHOW TABLES 查看当前数据库中的所有表。
          • SHOW TABLES;
      • 2.3 修改数据表

        • 添加列:使用 ALTER TABLE 来添加新列。
          • ALTER TABLE 表名 ADD 列名 数据类型;
        • 修改列:使用 ALTER TABLE 修改现有列的属性。
          • ALTER TABLE 表名  MODIFY 列名 新类型;
        • 重命名列:使用 ALTER TABLE 重命名列。
          • ALTER TABLE table_name CHANGE old_名 new_名 datatype;
          • 在使用 ALTER TABLE 重命名列时,必须指定数据类型,即使你不想改变数据类型。
        • 删除列:使用 ALTER TABLE 删除指定列。
          • ALTER TABLE table_name DROP column_name;
      • 2.4 删除数据表

        • 使用 DROP TABLE 来删除表以及表中所有的数据。
          • DROP TABLE table_name;
        • 删除所有数据(不加条件):
          • DELETE FROM table_name;
            • DELETE 命令可以用来删除表中符合条件的部分或全部数据。它允许通过 WHERE 子句指定条件来删除特定的行。如果不加 WHERE 条件,则会删除表中的所有行。
          • TRUNCATE TABLE table_name;
            • TRUNCATE 命令用于快速清空表中的所有数据,但保留表结构。与 DELETE 不同,TRUNCATE 是一种 DDL(数据定义语言) 操作,它会重置表的 AUTO_INCREMENT 计数器。
            • TRUNCATE 操作比 DELETE 更快,尤其是在数据量较大的情况下,因为它不逐行删除数据,而是直接清空表。
            • TRUNCATE 不会触发 DELETE 触发器。
            • TRUNCATE 不能用于具有外键约束的表。
  • 五、数据表的约束

    • 1.主键约束(PRIMARY KEY)

      • 主键约束用于唯一标识表中的每一行数据。主键列中的值必须是唯一的,且不能为空(NOT NULL)。一个表只能有一个主键,但可以由多个列组成。

      • CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50),email VARCHAR(100)
        );
        

        这里 id 列是主键,值必须唯一,且自动递增。

    • 2.非空约束(NOT NULL)

      • 非空约束用于确保某一列的数据不能为空。
      • CREATE TABLE table_name (column1 datatype NOT NULL,column2 datatype,...
        );
        
    • 3.默认值约束(DEFAULT)

      • 默认值约束允许为列设置一个默认值,当插入数据时,如果没有为该列提供值,则使用默认值。

      • 在此例中,status 列的默认值是 'active',如果插入数据时未提供 status,将自动使用默认值。

        CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50) NOT NULL,status VARCHAR(10) DEFAULT 'active'
        );
        

    • 4.唯一性约束(UNIQUE)

      • ​​​​​​​唯一性约束确保列中的数据是唯一的,即同一列不能包含重复值。一个表可以有多个唯一约束。

      • email 列必须是唯一的,不能有重复值。

        CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50) NOT NULL,email VARCHAR(100) UNIQUE
        );
        

    • 5.外键约束(FOREIGN KEY)

      • 5.1 数据一致性概念

        • 数据一致性就是确保数据库里的数据始终是正确的、完整的,并且符合预定的规则。外键约束是用来保持数据一致性的一种方法。简单来说,外键约束帮助你确保在一个表中引用的值在另一个表中是存在的。

          例如,假设你有一个订单表和一个用户表。在订单表中,如果某个订单引用了一个用户 ID,外键约束确保这个用户 ID 在用户表中确实存在。这样可以防止你在订单表中插入一个无效的用户 ID(即在用户表中找不到这个 ID)。

        • CREATE TABLE orders (order_id INT AUTO_INCREMENT PRIMARY KEY,user_id INT,FOREIGN KEY (user_id) REFERENCES users(id)
          );
          
      • 5.2 删除外键

        • 可以使用 ALTER TABLE 命令来删除外键约束。
        • ALTER TABLE 表名  DROP FOREIGN KEY 外键名;
      • 5.3 关于外键约束需要注意的细节

        • 父表的影响:当你删除或更新外键所引用的父表(主表)中的数据时,可以通过 ON DELETEON UPDATE 来定义如何处理子表中的数据。例如,可以设置 CASCADE 级联删除或更新,也可以设置 SET NULL 使外键列变为 NULL
          • CREATE TABLE orders (order_id INT AUTO_INCREMENT PRIMARY KEY,user_id INT,FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE
            );
            --在此例中,删除 users 表中的用户时,orders 表中相关的订单记录也会被删除(ON DELETE CASCADE)。更新用户时,订单中的 user_id 也会相应更新(ON UPDATE CASCADE)。
        • 外键和自增列:外键列通常不应与 AUTO_INCREMENT 结合使用,因为外键是用于引用其他表的主键,而不是生成唯一标识。

        • 索引要求:外键列必须有索引,MySQL 会自动为外键列创建索引,或者你需要手动添加索引。

  • 六、数据表插入数据

    • 1. 为表中所有字段插入数据

      • INSERT INTO table_name VALUES (value1, value2, ...);
      • 假设有一个名为 users 的表,包含 id, name, 和 email 列。如果你要插入一条记录,并且为所有字段提供值:
        • INSERT INTO users VALUES (1, 'Alice', 'alice@example.com');
    • 2. 为表中指定字段插入数据

      • 如果你只为部分字段提供值,可以明确指定列名。这种方法也允许插入记录时不按列的顺序排列值。
      • INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
         
      • 假设有一个名为 users 的表,包含 id, name, 和 email 列。如果你只想为 nameemail 列插入数据,id 列自动生成(例如为自增列):
        • INSERT INTO users (name, email) VALUES ('Bob', 'bob@example.com');
    • 3. 同时插入多条记录

      • 可以使用单个 INSERT 语句同时插入多条记录,以提高插入效率。
      • INSERT INTO table_name (column1, column2, ...) VALUES 
        (value1a, value2a, ...),
        (value1b, value2b, ...),
        ...;
      • 假设有一个名为 users 的表,包含 nameemail 列。要同时插入多条记录:
        • INSERT INTO users (name, email) VALUES 
          ('Charlie', 'charlie@example.com'),
          ('Diana', 'diana@example.com'),
          ('Eve', 'eve@example.com');
  • 七、更新数据

    • 1. UPDATE基本语法

      • UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
        • table_name:要更新数据的表名。
        • SET:指定要更新的列及其新值。
        • WHERE:指定更新条件。只有符合条件的记录会被更新。
    • 2. UPDATE更新部分数据

      • 使用 UPDATE 语句时,可以通过 WHERE 子句来限制更新的数据范围,只更新符合条件的记录。
      • 假设有一个名为 employees 的表,包含 id, name, 和 salary 列。如果你只想更新 id 为 3 的员工的薪水:
        • UPDATE employees
          SET salary = 5000
          WHERE id = 3;
    • 3. UPDATE更新全部数据

      • 如果你想更新表中的所有记录,可以省略 WHERE 子句,这将对表中的每一条记录进行更新。
      • 假设你要将 employees 表中所有员工的薪水增加 1000:
        • UPDATE employees
          SET salary = salary + 1000;
  • 八、删除数据

    • 1. DELETE基本语法

      • DELETE FROM table_name WHERE condition;
        • table_name:要删除数据的表名。
        • WHERE:指定删除的条件。只有符合条件的记录会被删除。
    • 2. DELETE删除部分数据

      • 使用 WHERE 子句来限制删除的数据范围,只删除符合条件的记录。
      • 假设有一个名为 employees 的表,如果你只想删除 id 为 3 的员工记录:
        • DELETE FROM employees WHERE id = 3;
    • 3. DELETE删除全部数据

      • 如果省略 WHERE 子句,将删除表中的所有记录,但保留表结构。
      • DELETE FROM employees;
    • 4. TRUNCATE和DETELE的区别

      • DELETE

        • 逐行删除数据。
        • 可以删除部分数据(使用 WHERE 子句)。
        • 删除操作会触发 DELETE 触发器(如果有)。
        • 不会重置自增列(AUTO_INCREMENT)。
        • 较慢,特别是删除大量数据时。
      • TRUNCATE

        • 快速清空表中的所有数据。
        • 不支持删除部分数据。
        • 不会触发 DELETE 触发器。
        • 会重置自增列(AUTO_INCREMENT)。
        • DELETE 快,适合删除大量数据时使用。
  • 九、MySQL数据表简单查询

    • 1.简单查询概述

      • 简单查询用于从表中检索数据,通常涉及选择列和行。最基本的查询语句是 SELECT
    • 2.查询所有字段(方法不唯一只是举例)

      • 要查询表中的所有字段,可以使用 *,表示选择所有列。
      • SELECT * FROM table_name;
      • 假设有一个名为 students 的表,包含多个列。要查询所有列的所有记录:
        • SELECT * FROM students;
    • 3.查询指定字段

      • 要只查询特定的字段,可以指定列名。
      • SELECT column1, column2 FROM table_name;
      • 假设有一个名为 students 的表,包含 sidsname 列。如果你只想查询 sidsname 列:
        • SELECT sid, sname FROM students;
    • 4.常数的查询

      • 可以在 SELECT 语句中使用常数来进行查询。例如,可以直接选择一个常数值作为查询结果。
    • 5.从查询结果中过滤重复数据

      • 使用 DISTINCT 关键字来去除结果中的重复数据。
      • SELECT DISTINCT column1, column2 FROM table_name;
      • 假设有一个名为 students 的表,如果你只想查询不同的 sname(去重):
        • SELECT DISTINCT sname FROM students;
    • 6.算术运算符(举例加运算符)

      • 可以在查询中使用算术运算符进行计算。常见的算术运算符包括 +, -, *, /, 和 %
      • 假设有一个名为 students 的表,包含 score 列。要查询每个学生的分数加 10 的结果:
        • SELECT sid, sname, score + 10 AS new_score FROM students;
    • 总结

      • 删除数据

        • DELETE:逐行删除,支持条件删除,较慢。
        • TRUNCATE:快速清空表,重置自增列,不能指定条件删除。
      • 简单查询

        • 查询所有字段:SELECT * FROM table_name;
        • 查询指定字段:SELECT column1, column2 FROM table_name;
        • 使用常数:SELECT column1, 10 AS constant_value FROM table_name;
        • 过滤重复数据:SELECT DISTINCT column FROM table_name;
        • 算术运算:SELECT column1, column2 + 10 FROM table_name;
  • 十、函数

    • 1.聚合函数

      • 1.1、count()

      • 1.2、max()

      • 1.3、min()

      • 1.4、sum()

      • 1.5、avg()

    • 2.其他常用函数

      • 2.1、时间函数

      • 2.2、字符串函数

      • 2.3、数学函数

  • 十一、条件查询

    • 1.使用关系运算符查询

    • 2.使用IN关键字查询

    • 3.使用BETWEEN AND关键字查询

    • 4.使用空值查询

    • 5.使用AND关键字查询

    • 6.使用OR关键字查询

    • 7.使用LIKE关键字查询

      • 7.1 普通字符串

      • 7.2 含有%通配的字符串

      • 7.3 含有_通配的字符串

    • 8.使用LIMIT限制查询结果的数量

    • 9.使用GROUP BY进行分组查询

      • 9.1 GROUP BY和聚合函数一起使用

      • 9.2 GROUP BY和聚合函数以及HAVING一起使用

    • 10.使用ORDER BY对查询结果排序

  • 十二、别名设置

    • 1.为表取别名

    • 2.为字段取别名

  • 十三、表的关联关系

    • 1.关联查询

    • 2.关于关联关系的删除数据

  • 十四、多表连接查询

    • 1.交叉连接查询

    • 2.内连接查询

    • 3.外连接查询

      • 3.1 左(外)连接查询

      • 3.2 右(外)连接查询

  • 十五、子查询

    • 1.带比较运算符的子查询

    • 2.带EXISTS关键字的子查询

    • 3.带ANY关键字的子查询

    • 4.带ALL关键字的子查询

  • 总结

关键字:广东品牌网站建设哪家好_成都今天消息_百度权重划分等级_seo优化几个关键词