首页 > 数据库 >MySQL 基础语法教程

MySQL 基础语法教程

时间:2024-07-30 09:27:39浏览次数:16  
标签:教程 name 创建 数据库 语法 MySQL table CREATE

MySQL 是一个开源的关系型数据库管理系统,它广泛应用于各种网站和应用程序中。本文将介绍 MySQL 的基础语法,包括数据库和表的创建、数据操作、索引和约束等内容。

1. 基本概念

在 MySQL 中,数据库用于存储数据,表是数据库中的基本单位。了解这些基本概念是使用 MySQL 的第一步。

1.1 创建数据库

要创建一个新的数据库,可以使用以下 SQL 语句:

CREATE DATABASE database_name;

1.2 使用数据库

在操作数据库之前,需要选择使用该数据库:

USE database_name;

2. 表的操作

表是存储数据的基本单位。以下是创建、修改和删除表的基本操作。

2.1 创建表

创建一个新表时,可以定义表的结构,包括列名、数据类型和约束条件:

CREATE TABLE table_name (
    column1 datatype constraints,
    column2 datatype constraints,
    ...
);

2.2 插入数据

将数据插入表中使用 INSERT 语句:

INSERT INTO table_name (column1, column2, ...)
VALUES (value1, value2, ...);

2.3 查询数据

查询表中的数据使用 SELECT 语句:

SELECT column1, column2, ...
FROM table_name
WHERE condition;

2.4 更新数据

更新表中已有的数据:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

2.5 删除数据

从表中删除数据:

DELETE FROM table_name
WHERE condition;

3. 数据类型

在 MySQL 中,列的数据类型决定了数据的存储方式。常见的数据类型包括:

  • 数字类型: INT, FLOAT, DOUBLE, DECIMAL
  • 字符类型: VARCHAR, CHAR, TEXT
  • 日期和时间类型: DATE, DATETIME, TIMESTAMP

4. 索引

索引用于提高查询性能。以下是创建和删除索引的基本语法:

4.1 创建索引

CREATE INDEX index_name
ON table_name (column_name);

4.2 删除索引

DROP INDEX index_name ON table_name;

5. 约束

约束用于确保数据的完整性和一致性。常见的约束包括主键、外键和唯一约束。

5.1 主键

主键用于唯一标识表中的每一行:

PRIMARY KEY (column_name)

5.2 外键

外键用于在不同表之间建立关系:

FOREIGN KEY (column_name)
REFERENCES other_table (column_name)

5.3 唯一约束

唯一约束确保列中的每个值都是唯一的:

UNIQUE (column_name)

6. 视图

视图是一个虚拟表,它基于查询的结果集。

6.1 创建视图

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table_name
WHERE condition;

6.2 删除视图

DROP VIEW view_name;

7. 存储过程和函数

存储过程和函数用于封装 SQL 逻辑,使其可以重复使用。

7.1 创建存储过程

CREATE PROCEDURE procedure_name (parameters)
BEGIN
    -- SQL statements
END;

7.2 调用存储过程

CALL procedure_name (parameters);

7.3 创建函数

CREATE FUNCTION function_name (parameters)
RETURNS datatype
BEGIN
    -- SQL statements
    RETURN value;
END;

8. 事务处理

事务用于确保一组操作的原子性,即要么全部成功,要么全部失败。

8.1 开始事务

START TRANSACTION;

8.2 提交事务

COMMIT;

8.3 回滚事务

ROLLBACK;

9. 性能优化

使用 EXPLAIN 语句分析查询的执行计划,从而优化性能。

9.1 使用 EXPLAIN

EXPLAIN SELECT column1, column2
FROM table_name
WHERE condition;

10. 安全性和权限

MySQL 提供了用户和权限管理功能,以保护数据库的安全。

10.1 创建用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password';

10.2 授权用户

GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'host';

10.3 撤销权限

REVOKE ALL PRIVILEGES ON database_name.* FROM 'username'@'host';

标签:教程,name,创建,数据库,语法,MySQL,table,CREATE
From: https://blog.csdn.net/qq_40998698/article/details/140773312

相关文章

  • 只讲干货!!数据库的裤腰带!!今天拿下:MySQL中的约束!!
    MySQL中的约束约束概述        数据库约束是对表中的数据进行进一步的限制,保证数据的正确性、有效性和完整性主键约束(PrimaryKey)PK        主键约束是使用最频繁的约束。在设计数据表时,一般情况下,都会要求表中设置一个主键。        ......
  • mysql中substring_index类似split分组功能
     这条MySQL语句中使用了substring_index函数来处理training_pictures列的数据。下面是该函数的具体用法:substring_index(str,delim,count):这个函数会返回字符串str中第count个出现的分隔符delim之前的所有字符,或者之后的所有字符(取决于count的正负)。具体到你提供的查询:s......
  • 黑马Java零基础视频教程精华部分_9_面向对象进阶(1)
    系列文章目录文章目录系列文章目录一、static(表示静态)是Java中的一个修饰符,可以修饰成员方法,成员变量1、静态变量2、静态变量底层原理3、static静态方法4、工具类、测试类、Javabean类5、static注意事项从代码层面从内存层面6、重新认识main方法一、static(表......
  • 《史上最简单的SpringAI+Llama3.x教程》-05-打破界限,Function Calling在业务场景中的
    什么是FunctionCallingFunctionCalling是一种技术,它允许大型语言模型(如GPT)在生成文本的过程中调用外部函数或服务。这种功能的核心在于,模型本身不直接执行函数,而是生成包含函数名称和执行函数所需参数的JSON,然后由外部系统执行这些函数,并将结果返回给模型以完成对话或......
  • Sonatype Nexus Repository搭建与使用(详细教程3.70.1)
    目录一.环境准备二.安装jdk三.搭建Nexus存储库四.使用介绍 一.环境准备主机名IP系统软件版本配置信息nexus192.168.226.26Rocky_linux9.4NexusRepository3.70.1MySQL8.0jdk-11.0.232核2G,磁盘20G进行时间同步,关闭防火墙和selinuxJavaArchiveDownloads......
  • mysql的主从复制和读写分离
    目录主从复制主从复制的模式1.异步模式2.全同步模式3.半同步模式主从复制的延迟主从复制的延迟的原因解决方案双一设置性能化设置主从复制如何实现安装步骤读写分离实验步骤面试题主从复制主从复制的模式1.异步模式mysql的默认模式:主库在更新完事务之后会......
  • mysql的MHA以及故障模拟
    目录MHA概念MHA的组件MHA的特点实验:搭建完成MHA的架构实验:主备切换实验结果实验:故障切换实验:故障恢复MHA概念MHA:高可用模式下的故障切换,基于主从复制。它解决的是单点故障和主从复制不能切换的问题。它至少需要3台。故障切换过程0-30秒。它能根据VIP地址所在的主机......
  • vue项目引入live2d保姆级教程--web端、多种方法
    一、自建live2d运行1、选择SDK——live2d Cubism SDK (1)链接:Live2DCubismSDK|Live2DCubism     打开网站,它长这样:(2)选择web,到下个页面(3)下载勾选同意,填写邮箱,点击下载,得到一个压缩包注意:如果你需要完整的的SDK按上文来就行,实际这篇文章主要用到内容是c......
  • SPONGE常用教程0:软件安装教程
    课程准备阶段,介绍最简明安装流程,安装过程中如果遇到其他问题,请移步官方教程。第三方软件只提供个人安装心得。软件安装环境默认为linux。软件支持SPONGE(SimulationPackagetOwardNextGEnerationmolecularmodelling)是由北京大学高毅勤课题组开发的分子动力学模拟程序。XPO......
  • 超详细Python教程——使用Hexo搭建自己的博客
    使用Hexo搭建自己的博客对于一个程序员来说,搭建一个属于自己的博客平台是非常有意义的事情。首先,博客可以记录自己的成长历程,也是对自己一段时间学习和工作的总结和沉淀;其他,通过博客可以营销自己,增强自己在互联网或行业内的影响力,为将来更好的职业生涯打一个坚实的基础。前......