建设银行明细网站能查多久,南通网站排名优化,优质的设计网站有哪些,php语言网站开发文章目录 SQLyog 基础知识讲解 1. 数据定义语言 (DDL)创建数据库创建表修改表删除表 2. 数据操作语言 (DML)插入数据批量插入数据更新数据条件更新删除数据条件删除 3. 数据查询语言 (DQL)查询数据查询所有数据使用排序使用聚合函数分组查询使用 HAVING 子句 4. 事务5. 索引创建… 文章目录 SQLyog 基础知识讲解 1. 数据定义语言 (DDL)创建数据库创建表修改表删除表 2. 数据操作语言 (DML)插入数据批量插入数据更新数据条件更新删除数据条件删除 3. 数据查询语言 (DQL)查询数据查询所有数据使用排序使用聚合函数分组查询使用 HAVING 子句 4. 事务5. 索引创建索引唯一索引删除索引 6. 视图7. 存储过程总结 SQLyog 基础知识讲解
SQLyog 是一款强大的 MySQL 数据库管理工具提供了直观的图形用户界面 (GUI)帮助用户简化数据库管理和操作。以下内容将详细讲解 SQLyog 中的基础知识并对数据定义语言 (DDL)、数据操作语言 (DML)、数据查询语言 (DQL) 以及索引、事务、视图和存储过程等内容进行扩展和注释。 1. 数据定义语言 (DDL)
DDL 用于定义和管理数据库结构如创建、修改和删除数据库和表。
创建数据库
CREATE DATABASE my_database;解释: 创建一个名为 my_database 的新数据库存放数据表及其数据。
创建表
CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, -- 自动递增的整型主键每条记录唯一username VARCHAR(50) NOT NULL, -- 用户名长度不超过50个字符不能为空email VARCHAR(100) NOT NULL, -- 邮箱长度不超过100个字符不能为空created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- 创建时间默认是当前时间
);解释: 创建一个名为 users 的表包含 id、username、email 和 created_at 列其中 id 列是主键username 和 email 列不能为空created_at 列自动记录插入数据的时间。
修改表
ALTER TABLE users
ADD age INT; -- 向 users 表中添加 age 列用于记录用户的年龄解释: 使用 ALTER TABLE 命令修改表结构向 users 表中添加一个名为 age 的整型字段用于存储用户的年龄信息。
删除表
DROP TABLE users;解释: 删除名为 users 的表同时删除该表中的所有记录和结构。 2. 数据操作语言 (DML)
DML 用于操作数据表中的数据主要包括插入、更新和删除操作。
插入数据
INSERT INTO users (username, email)
VALUES (john_doe, johnexample.com); -- 插入一条新记录解释: 向 users 表中插入一条新记录用户名为 john_doe邮箱为 johnexample.com。
批量插入数据
INSERT INTO users (username, email)
VALUES
(jane_doe, janeexample.com), -- 插入多个用户数据
(alice, aliceexample.com);解释: 向 users 表中插入多条记录一次插入多个用户信息减少操作次数提高效率。
更新数据
UPDATE users
SET email john_doeexample.com
WHERE username john_doe; -- 更新 john_doe 的邮箱信息解释: 更新 users 表中用户名为 john_doe 的记录将其邮箱更改为 john_doeexample.com。WHERE 子句用于指定更新的条件。
条件更新
UPDATE users
SET email new_emailexample.com
WHERE age 30; -- 更新所有年龄大于 30 的用户的邮箱解释: 更新 users 表中所有年龄大于 30 的用户将他们的邮箱设置为 new_emailexample.com。
删除数据
DELETE FROM users
WHERE username john_doe; -- 删除用户名为 john_doe 的记录解释: 从 users 表中删除用户名为 john_doe 的记录。WHERE 子句确保只删除特定的记录。
条件删除
DELETE FROM users
WHERE created_at 2022-01-01; -- 删除 2022 年之前创建的所有用户解释: 删除 users 表中所有创建时间早于 2022 年的记录。 3. 数据查询语言 (DQL)
DQL 用于查询数据库中的数据主要通过 SELECT 语句来执行。
查询数据
SELECT username, email
FROM users
WHERE age 18; -- 查询所有年龄大于 18 岁的用户的用户名和邮箱解释: 查询 users 表中所有年龄大于 18 岁的用户返回他们的用户名和邮箱。
查询所有数据
SELECT * FROM users; -- 返回 users 表中的所有数据解释: 查询 users 表中的所有记录和所有列。
使用排序
SELECT * FROM users
ORDER BY created_at DESC; -- 按照创建时间降序排列结果解释: 查询 users 表中的所有数据并按照 created_at 列降序排列结果。最新的记录会排在最前面。
使用聚合函数
SELECT COUNT(*) AS total_users, AVG(age) AS average_age
FROM users; -- 统计用户总数和平均年龄解释: 通过 COUNT 计算 users 表中的总用户数通过 AVG 计算用户的平均年龄分别命名为 total_users 和 average_age。
分组查询
SELECT age, COUNT(*) AS user_count
FROM users
GROUP BY age; -- 按年龄分组统计每个年龄的用户数量解释: 按 age 分组统计每个年龄段的用户数量并将结果命名为 user_count。
使用 HAVING 子句
SELECT age, COUNT(*) AS user_count
FROM users
GROUP BY age
HAVING user_count 1; -- 只显示用户数量大于 1 的年龄组解释: 使用 HAVING 子句进一步过滤分组结果只显示用户数量大于 1 的年龄组。 4. 事务
事务是一个逻辑单元其中的一组 SQL 操作要么全部成功要么全部失败。事务用于确保数据库操作的一致性和完整性。
START TRANSACTION; -- 开始一个事务-- 插入数据
INSERT INTO users (username, email) VALUES (jane_doe, janeexample.com);COMMIT; -- 提交事务保存更改-- 如果出现错误使用 ROLLBACK 撤销更改
ROLLBACK;解释: 通过 START TRANSACTION 开始事务如果所有操作都成功使用 COMMIT 提交更改。如果遇到错误可以使用 ROLLBACK 撤销所有操作保证数据的一致性。 5. 索引
索引用于加速数据查询操作尤其是在处理大量数据时。通过索引可以显著提高查询的速度。
创建索引
CREATE INDEX idx_username ON users (username); -- 在 username 列上创建索引解释: 为 users 表中的 username 列创建索引优化基于用户名的查询速度。
唯一索引
CREATE UNIQUE INDEX idx_email ON users (email); -- 创建唯一索引确保邮箱唯一解释: 创建一个唯一索引确保 email 列中的值是唯一的。此索引会阻止重复的邮箱插入。
删除索引
DROP INDEX idx_username ON users; -- 删除 username 列上的索引解释: 删除 users 表中 username 列上的索引。 6. 视图
视图是基于 SQL 查询创建的虚拟表通常用于简化复杂查询或者为特定用户提供特定的数据视图。
CREATE VIEW active_users AS
SELECT username, email
FROM users
WHERE active 1; -- 创建一个只包含活跃用户的视图解释: 创建一个名为 active_users 的视图视图中的数据来自 users 表只包含标记为活跃的用户。 7. 存储过程
存储过程是一组预编译的 SQL 语句可以多次调用通常用于封装复杂的业务逻辑或重复性操作。
CREATE PROCEDURE GetUserCount()
BEGINSELECT COUNT(*) FROM users; -- 返回用户总数
END;解释: 创建一个名为 GetUserCount 的存储过程执行该过程时会返回 users 表中的用户总数。 总结
通过本篇基础知识讲解涵盖了 SQLyog 中 DDL、DML 和 DQL 的基础语法和扩展功能介绍了事务、索引、视图和存储过程的使用。掌握这些基本语法和扩展知识可以帮助你更有效地管理和操作 MySQL 数据库。