MySQL系列之四 SQL语法

MySQL系列之四 SQL语法

SQL是结构化查询语言(Structured Query Language)的缩写,是一种标准的交互式数据库操作语言,可以用来访问和处理关系型数据库(如 MySQL、Oracle、SQL Server 等),是开发 Web 应用程序或构建企业级应用程序必须掌握的基本技能之一。在本篇文章中,我们将针对 MySQL 数据库进行详细讲解 SQL 语法的完整攻略。

DDL(数据定义语言)

DDL是用来定义数据库对象(如数据库、表、列等)的语言。在 MySQL 中,常用的 DDL 包括 CREATE、ALTER、DROP 等关键词。

CREATE

CREATE 关键词用来创建 MySQL 中的数据库、表、视图、索引或存储过程等对象。其中,CREATE TABLE 用来创建表,其语法格式为:

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

示例:

CREATE TABLE users (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(50) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

执行后,将会在当前的数据库中创建名为“users”的数据表,该表包含 4 个列,分别为 id、name、email 和 created_at。

ALTER

ALTER 关键词用来修改已有表的结构,可以用来添加、修改或删除表的列、索引或约束。其语法格式为:

ALTER TABLE table_name
    ADD column_name column_definition [FIRST|AFTER existing_column],
    MODIFY column_name column_definition,
    DROP COLUMN column_name,
    ADD KEY|INDEX index_name (column1, column2, ...),
    DROP KEY|INDEX index_name;

示例:

ALTER TABLE users
    ADD age INT(3) UNSIGNED NOT NULL AFTER name,
    MODIFY email VARCHAR(100) NOT NULL,
    DROP COLUMN created_at;

执行后,将会在名为“users”的表中添加名为“age”的列,并将列“email”的数据类型更改为“VARCHAR(100)”,并删除列“created_at”。

DROP

DROP 关键词用来删除 MySQL 中的数据库、表、索引或视图等对象,其语法格式为:

DROP TABLE table_name;

示例:

DROP TABLE users;

执行后,将会删除名为“users”的表。

DML(数据操作语言)

DML是用来操作表中数据的语言。在 MySQL 中,常用的 DML 包括 SELECT、INSERT、UPDATE、DELETE 等关键词。

SELECT

SELECT 语句用来从 MySQL 中的表中检索数据,其语法格式为:

SELECT column1, column2, ...
FROM table_name
WHERE condition
ORDER BY column1 [ASC|DESC], column2 [ASC|DESC], ...;

示例:

SELECT name, age, email
FROM users
WHERE age > 20 AND email LIKE '%@example.com'
ORDER BY age DESC, name ASC;

执行后,将会检索出“users”表中年龄大于 20 并且邮箱为 example.com 后缀的记录,并按照年龄降序、名字升序的顺序进行排序,并返回每条记录的 name、age、email 三个列的数据。

INSERT

INSERT 语句用来向 MySQL 中的表中添加数据,其语法格式为:

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

示例:

INSERT INTO users (name, email, age)
VALUES ('Alice', 'alice@example.com', 25),
       ('Bob', 'bob@example.com', 30),
       ('Charlie', 'charlie@example.com', 35);

执行后,将会向“users”表中添加三条记录。

UPDATE

UPDATE 语句用来更新 MySQL 中的表中的数据,其语法格式为:

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

示例:

UPDATE users
SET age = 32, email = 'bobnew@example.com'
WHERE name = 'Bob';

执行后,将会找到“users”表中符合条件的记录(即 name 为“Bob”),并将对应行的 age 和 email 列的值分别修改为 32 和 bobnew@example.com。

DELETE

DELETE 语句用来从 MySQL 中的表中删除数据,其语法格式为:

DELETE FROM table_name
WHERE condition;

示例:

DELETE FROM users
WHERE age < 20;

执行后,将会删除“users”表中符合条件的记录(即 age 小于 20)。

总结

通过本文的讲解,我们了解到了 MySQL 中常用的 DDL 和 DML 语句,可以方便我们对数据库中的表进行创建、修改、删除和操作数据等操作,带来了方便和高效。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL系列之四 SQL语法 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • JavaScript架构前端监控搭建过程步骤

    对于JavaScript架构前端监控搭建过程步骤,我们可以按照以下流程分步骤说明: 第一步:选择前端监控框架 前端监控框架是前端数据收集和展现的核心,因此,选择一个可靠的前端监控框架非常重要。目前比较流行的前端监控框架有: Sentry,功能比较全面,适用于大型项目; Fundebug,适用于中小型项目; Bugsnag,适用于移动端和Web端; Raygu…

    database 2023年5月21日
    00
  • mysql8报错:ERROR 1410 (42000): You are not allowed to create a user with GRANT解决办法

    当使用mysql8创建用户并授权时,可能会遇到ERROR 1410 (42000): You are not allowed to create a user with GRANT的报错提示。这是因为mysql8对用户的管理进行了更加严格的权限控制,不是所有用户都可以执行创建授权的操作。以下是解决这个问题的完整攻略: 1. 确认当前登录用户是否具有创建用户的…

    database 2023年5月18日
    00
  • .net Redis分布式锁,Dictionary,ConcurrentDictionary 介绍

    在计算机世界里,对于锁大家并不陌生,在现代所有的语言中几乎都提供了语言级别锁的实现,为什么我们的程序有时候会这么依赖锁呢?这个问题还是要从计算机的发展说起,随着计算机硬件的不断升级,多核cpu,多线程,多通道等技术把计算机的计算速度大幅度提升,原来同一时间只能执行一条cpu指令的时代已经过去。随着多条cpu指令可以并行执行的原因,原来不曾出现的资源竞争随着出…

    Redis 2023年4月11日
    00
  • IDEA连接MySQL测试连接失败解决方法

    问题描述 IDEA的强大不需要再多做描述,其中有一个非常好用的功能就是我们可以在IDEA中连接数据库,尤其是使用MyBatis用插件生成逆向工程代码时,并且我们如果连接上了数据库,在IDEA中编写SQL代码时也会有相应的代码补全提示。 可能我们在连接MySQL 5.* 的版本是没有遇到连接失败的问题 但是如果我们的MySQL 是8.*的版本时就有可能会遇到测…

    MySQL 2023年4月12日
    00
  • linux下mysql的root密码忘记的解决方法

    下面给出一个详细的Linux下MySQL的root密码忘记的解决方法攻略,具体步骤如下。 步骤1:关闭MySQL服务 在终端中输入以下命令关闭MySQL服务: $ sudo systemctl stop mysql 步骤2:使用mysqld_safe命令启动MySQL 在终端中输入以下命令使用mysqld_safe命令启动MySQL,并跳过权限验证: $ s…

    database 2023年5月22日
    00
  • DDL数据库与表的创建和管理深入讲解使用教程

    DDL数据库与表的创建和管理深入讲解使用教程 DDL(Database Definition Language)是数据库定义语言,通常用于创建或修改数据库、表、约束条件等。在数据库中,DDL语句常用于CREATE、ALTER、DROP等操作。 DDL语句执行前需要先连接数据库,具体步骤如下: 打开命令行工具,输入mysql -u用户名 -p密码进入MySQL…

    database 2023年5月21日
    00
  • centos6.6 下 安装 php7 + nginx环境的方法

    安装php7和nginx环境前,需要先安装epel和webtatic仓库。 安装epel和webtatic仓库 # 安装epel仓库 yum install epel-release # 安装webtatic仓库 rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm 安装完epel和webtatic后…

    database 2023年5月22日
    00
  • Linux曝出Sudo提权漏洞 任意用户亦可运行root命令

    简介 Sudo(SuperUser Do)是一种常见的在Linux系统中提升用户权限的工具。但是,最近Linux发现了一个严重的问题:Sudo存在一个提权漏洞,可以允许不受信任的用户以root权限运行任意命令。这个漏洞被命名为“Baron Samedit”,它影响的版本包括Sudo 1.8.2到1.8.31p2版本以及1.9.0到1.9.5p1版本。 漏洞利…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部