MySQL知识归纳整理知识博客

MySQL是一种流行的开源数据库,以其高效、稳定和安全而被广泛应用。文章详细介绍了如何通过主键约束、外键约束、唯一约束和检查约束来确保数据的完整性和一致性。此外,还涵盖了MySQL的基本操作,包括创建和删除数据库、表,以及插入、查询、更新和删除数据。同时,提到了视图、存储过程的概念及其操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. MySQL的优点:MySQL是一款开源的轻量级数据库,具有高效性、稳定性、可靠性和安全性等多方面的优势,被广泛应用于Web开发、企业信息化等领域。

  2. MySQL的安装:下载并安装MySQL安装文件,启动安装程序,按照提示进行设置即可。

  3. MySQL数据库的数据完整性的实现

  1. 主键约束

     主键是用于唯一标识表中每一条记录的列或列组合,它要求列的值必须是唯一的,且不能为空    (即不能为 NULL)。在 MySQL 中,可以通过创建主键约束来保证主键的唯一性和非空性。主         键       约束可以通过以下两种方式来实现:

  •  在创建表时指定主键列:
    CREATE TABLE table_name (column1 datatype PRIMARY KEY, column2 datatype, ...);

  • 在创建表后,通过修改表结构来添加主键:
    ALTER TABLE table_name ADD PRIMARY KEY (column1, column2, ...);

    2.外键约束

外键是指表中的一个或多个列,它们与另一个表中的主键形成关联,用于保证数据的引用完整性。在 MySQL 中,可以通过创建外键约束来实现外键的引用完整性。外键约束可以通过以下两种方式来实现:

  • 在创建表时指定外键列和关联表:
    CREATE TABLE table_name (column1 datatype, column2 datatype, ..., 
    FOREIGN KEY (column1) REFERENCES another_table(another_column));
  • 在创建表后,通过修改表结构来添加外键:
    ALTER TABLE table_name ADD FOREIGN KEY (column1)
     REFERENCES another_table(another_column);
  • 3.唯一约束
  • 唯一约束是指表中的一个或多个列,它们的值必须是唯一的,但可以为 NULL。在 MySQL 中,可以通过创建唯一约束来保证列的唯一性。唯一约束可以通过以下两种方式来实现:
  • 在创建表时指定唯一约束:
    CREATE TABLE table_name (column1 datatype, column2 datatype, ..., 
    UNIQUE (column1));
  • 在创建表后,通过修改表结构来添加唯一约束:
    ALTER TABLE table_name ADD UNIQUE (column1);

    4.检查约束

  • 检查约束是指限制表中的数据必须符合特定条件或限定范围的规则。在 MySQL 中,可以通过创建检查约束来实现对数据的限制。检查约束可以通过以下方式来实现:

  • 在创建表时指定检查约束:
    CREATE TABLE table_name (column1 datatype CHECK (condition),
     column2 datatype, ...);
  • 在创建表后,通过修改表结构来添加检查约束:
    ALTER TABLE table_name ADD CHECK (condition);

  • 4.MySQL语法的一些语法

  • 创建数据库:

    CREATE DATABASE database_name;
  • 删除数据库:

    DROP DATABASE IF EXISTS database_name;
  • 选择数据库:
    USE database_name;
  • 显示所有数据库:
    SHOW DATABASES;
  • 创建表格:

    CREATE TABLE table_name (column_1 data_type, column_2 data_type, ...);
  • 增加列:

    ALTER TABLE table_name ADD column_name data_type;
  • 删除列:

    ALTER TABLE table_name DROP COLUMN column_name;
  • 修改列类型:

    ALTER TABLE table_name MODIFY COLUMN column_name new_data_type;
  • 插入数据:

    INSERT INTO table_name (column_1, column_2) VALUES (value_1, value_2);
  • 查询数据:

    SELECT column_1, column_2 FROM table_name WHERE condition;
  • 更新数据:

    UPDATE table_name SET column_1 = value_1 WHERE condition;
  • 删除数据:

    DELETE FROM table_name WHERE condition;
  • 创建索引:

    CREATE INDEX index_name ON table_name (column_name);
  • 删除索引:

    DROP INDEX index_name ON table_name;

    4.MySQL的查询语句

  • 基本查询语句
  • SELECT column_name1, column_name2, ... FROM table_name;
    SELECT:关键字,表示要执行查询操作
  • column_name1, column_name2, ...:要查询的列名FROM:关键字,指定要查询的数据表名table_name:要查询的数据表的名称
  • 条件查询语句
  • SELECT column_name1, column_name2, ... FROM table_name WHERE condition;

  • WHERE:关键字,用于指定查询条件
  • condition:查询条件,可以使用运算符(比较、逻辑等)和函数等进行查询过滤
  • 排序查询
  • ORDER BY
    SELECT column_name1, column_name2, ... FROM table_name ORDER BY column_name [ASC|DESC];
    关键字,指定按照哪个列进行排序
  • column_name:要排序的列名
  • ASC:升序排序,默认值
  • DESC:降序排序
  • 分组查询
  • SELECT aggregate_function(column_name) FROM table_name GROUP BY column_name;
  • aggregate_function:聚合函数,如SUM、AVG、MAX、MIN等

  • GROUP BY:关键字,指定分组的列
  • 连接查询
    SELECT column_name1, column_name2 FROM table_name1 
    JOIN table_name2 ON table_name1.column_name = table_name2.column_name;
    

    JOIN:关键字,指定要进行连接查询的数据表

  • ON:关键字,用于指定连接条件
  • 左连接(LEFT JOIN)
  • 左连接是以左边的表为基准,将左表的所有记录都保留,并和右表中匹配的记录进行联合查询。如果右表中没有匹配的记录,则使用NULL填充。

    SELECT column_name1, column_name2, ... FROM table1
     LEFT JOIN table2 ON table1.column_name = table2.column_name;
  • 右连接(RIGHT JOIN)
  • 右连接是以右边的表为基准,将右表的所有记录都保留,并和左表中匹配的记录进行联合查询。如果左表中没有匹配的记录,则使用NULL填充。

    语法

    SELECT column_name1, column_name2, ... FROM table1
     RIGHT JOIN table2 ON table1.column_name = table2.column_name;

  • 子查询
    SELECT column_name1, column_name2 FROM table_name WHERE column_name IN
     (SELECT column_name FROM table_name2);

    IN:关键字,用于子查询中,表示在一系列值中查询出符合条件的值

  • 5.视图操作语法

  • 创建视图:
    CREATE VIEW view_name AS SELECT column1, column2, ...
     FROM table_name WHERE condition;
  • 删除视图:
    DROP VIEW view_name;
  • 修改视图:
    ALTER VIEW view_name AS SELECT column1, column2, ...
     FROM table_name WHERE condition;

    6存储过程和函数操作语法

  • 创建存储过程:

    CREATE PROCEDURE
     procedure_name(param1 datatype, param2 datatype, ...)
     BEGIN ... END;


    删除存储过程:

    DROP PROCEDURE procedure_name;

    调用存储过程:

CALL procedure_name(param1, param2, ...);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值