当前位置: 首页 > wzjs >正文

代理产品seo排名优化培训价格

代理产品,seo排名优化培训价格,江苏易销 网站建设,最近最新新闻事件📌 MySQL 语句大全(完整实用教程) 📌 1. 数据库操作 ✅ 创建数据库 CREATE DATABASE mydb; -- 创建名为 mydb 的数据库✅ 使用数据库 USE mydb; -- 选择数据库✅ 删除数据库 DROP DATABASE mydb; -- 删除数据库&#xff08…

📌 MySQL 语句大全(完整实用教程)


📌 1. 数据库操作

✅ 创建数据库

CREATE DATABASE mydb;  -- 创建名为 mydb 的数据库

✅ 使用数据库

USE mydb;  -- 选择数据库

✅ 删除数据库

DROP DATABASE mydb;  -- 删除数据库(谨慎使用)

⚠️ 注意点:

  • 删除数据库会 丢失所有数据,操作前需备份!

📌 2. 表操作

✅ 创建表

CREATE TABLE users (id INT PRIMARY KEY AUTO_INCREMENT,  -- 自增主键name VARCHAR(50) NOT NULL,  -- 不能为空age INT DEFAULT 18,  -- 默认值 18email VARCHAR(100) UNIQUE  -- 唯一约束
);

✅ 查看表结构

DESC users;  -- 查看表的字段信息
SHOW CREATE TABLE users;  -- 查看完整建表语句

✅ 修改表

ALTER TABLE users ADD phone VARCHAR(20);  -- 添加新列
ALTER TABLE users MODIFY name VARCHAR(100);  -- 修改字段类型
ALTER TABLE users DROP COLUMN phone;  -- 删除列

✅ 删除表

DROP TABLE users;  -- 删除表(谨慎使用)

⚠️ 注意点:

  • DROP TABLE 不可恢复,需谨慎。
  • ALTER TABLE 可能 影响性能,大表操作前需测试。

📌 3. 数据操作(CRUD)

✅ 插入数据

INSERT INTO users (name, age, email) VALUES ('Alice', 25, 'alice@example.com');

✅ 批量插入数据

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

✅ 查询数据

SELECT * FROM users;  -- 查询所有字段
SELECT name, age FROM users;  -- 查询指定字段
SELECT * FROM users WHERE age > 25;  -- 条件查询
SELECT * FROM users ORDER BY age DESC;  -- 按年龄降序排列
SELECT * FROM users LIMIT 5;  -- 取前 5 条记录

✅ 更新数据

UPDATE users SET age = 26 WHERE name = 'Alice';  -- 更新 Alice 的年龄

✅ 删除数据

DELETE FROM users WHERE name = 'Bob';  -- 删除 Bob

⚠️ 注意点:

  • DELETE 语句如果没有 WHERE,会删除整个表的数据
  • 可使用 LIMIT 限制删除的条数。

📌 4. 约束(Constraints)

✅ 主键约束

CREATE TABLE orders (id INT PRIMARY KEY AUTO_INCREMENT,order_number VARCHAR(20) NOT NULL UNIQUE
);

✅ 外键约束

CREATE TABLE orders (id INT PRIMARY KEY AUTO_INCREMENT,user_id INT,FOREIGN KEY (user_id) REFERENCES users(id)
);

⚠️ 注意点:

  • FOREIGN KEY 约束确保数据一致性,删除或更新数据时需注意级联操作

📌 5. 高级查询

✅ 聚合函数

SELECT COUNT(*) FROM users;  -- 统计总人数
SELECT AVG(age) FROM users;  -- 计算平均年龄
SELECT MAX(age), MIN(age) FROM users;  -- 查找最大、最小年龄

✅ 分组查询(GROUP BY)

SELECT age, COUNT(*) FROM users GROUP BY age;  -- 按年龄分组统计人数

✅ 连接查询(JOIN)

SELECT users.name, orders.order_number
FROM users
JOIN orders ON users.id = orders.user_id;

⚠️ 注意点:

  • JOIN 操作会影响性能,大数据量时需优化索引。

📌 6. 事务控制(Transactions)

✅ 开启事务

START TRANSACTION;

✅ 执行事务

UPDATE users SET age = 40 WHERE name = 'Alice';
COMMIT;  -- 提交事务

✅ 回滚事务

ROLLBACK;  -- 回滚到事务开始前

⚠️ 注意点:

  • 事务适用于 银行转账订单处理等操作,确保数据一致性。

📌 7. 索引(Indexes)

✅ 创建索引

CREATE INDEX idx_name ON users(name);  -- 创建索引

✅ 查看索引

SHOW INDEX FROM users;  -- 查看索引

✅ 删除索引

DROP INDEX idx_name ON users;

⚠️ 注意点:

  • 索引加速查询,但会降低写入速度,需平衡。

📌 8. 备份 & 恢复

✅ 备份数据库

mysqldump -u root -p mydb > mydb_backup.sql  # 备份数据库

✅ 恢复数据库

mysql -u root -p mydb < mydb_backup.sql  # 还原数据库

⚠️ 注意点:

  • 定期备份数据,避免数据丢失。

📌 9. 常见问题 & 解决方案

⚠️ 端口占用(3306 被占用)

netstat -tulnp | grep 3306  # 查看占用进程
kill -9 <PID>  # 终止进程

⚠️ root 用户无权限

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'yourpassword';
FLUSH PRIVILEGES;


📌 触发器(Triggers)

🔹 什么是触发器?

触发器(Trigger)是一种特殊的存储过程,在对数据库表执行 INSERTUPDATEDELETE 操作时自动触发执行。用于 数据验证、日志记录、自动更新等

✅ 创建触发器(案例)

CREATE TRIGGER before_insert_users
BEFORE INSERT ON users
FOR EACH ROW
SET NEW.name = UPPER(NEW.name);

📌 说明:

  • 该触发器在 users 表执行 INSERT 语句之前触发,
  • 将新插入的 name 字段转换为大写。

✅ 删除触发器

DROP TRIGGER IF EXISTS before_insert_users;

⚠️ 注意点:

  • 触发器不能被 ALTER 修改,如需修改,需先 DROPCREATE
  • 触发器执行过程中不能直接修改同一个表的数据,否则会引发递归调用。

📌 存储过程(Stored Procedures)

🔹 什么是存储过程?

存储过程(Stored Procedure)是一组预编译的 SQL 语句集合,封装一系列数据库操作,提高执行效率并减少代码重复。

✅ 创建存储过程(案例)

DELIMITER $$
CREATE PROCEDURE GetUserCount()
BEGINSELECT COUNT(*) FROM users;
END $$
DELIMITER ;

📌 说明:

  • DELIMITER $$ 用于改变默认的 ; 结束符,防止 CREATE PROCEDURE 语句因 ; 过早终止。
  • GetUserCount 存储过程用于统计 users 表的总记录数。

✅ 调用存储过程

CALL GetUserCount();

✅ 删除存储过程

DROP PROCEDURE IF EXISTS GetUserCount;

⚠️ 注意点:

  • 存储过程适用于 重复执行的复杂 SQL 操作,如报表查询、数据批量更新等。
  • 存储过程可接收 输入参数 并返回 输出参数

📌 游标(Cursors)

🔹 什么是游标?

游标(Cursor)用于 遍历查询结果集,通常用于存储过程中的批量数据处理。

✅ 声明游标

DECLARE cur CURSOR FOR SELECT name FROM users;

✅ 使用游标(案例)

DELIMITER $$
CREATE PROCEDURE PrintAllUserNames()
BEGINDECLARE done INT DEFAULT 0;DECLARE username VARCHAR(255);DECLARE cur CURSOR FOR SELECT name FROM users;DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;OPEN cur;FETCH cur INTO username;WHILE done = 0 DO-- 这里可以对 username 进行进一步处理SELECT username;FETCH cur INTO username;END WHILE;CLOSE cur;
END $$
DELIMITER ;

📌 说明:

  • DECLARE cur CURSOR FOR 声明游标,指定查询语句。
  • OPEN cur; 打开游标。
  • FETCH cur INTO username; 获取一行数据。
  • CLOSE cur; 关闭游标。

✅ 调用游标

CALL PrintAllUserNames();

⚠️ 注意点:

  • 使用 DECLARE CONTINUE HANDLER 捕获游标遍历结束时的 NOT FOUND 事件。
  • WHILE done = 0 DO 循环执行 FETCH 语句,直到数据全部遍历完毕。

http://www.dtcms.com/wzjs/21249.html

相关文章:

  • 做一个外贸网站主流搜索引擎有哪些
  • 传奇私服网站建设教程长沙关键词优化新报价
  • 做类似58同城的网站百度一下 你知道首页
  • 西藏城乡建设厅网站首页seo小白入门
  • 专做美容师招聘网站seo网页优化服务
  • 网站联盟怎么做互联网培训机构排名前十
  • 万网ecs放多个网站新闻早知道
  • 网站建设可行性研究报告范文百度用户服务中心官网电话
  • 大淘客网站logo怎么做无忧seo博客
  • 电子商务网站建设开题报告网站搜索引擎
  • by网站现在的域名seo公司哪家好用
  • 商城型企业网站的功能爱采购seo
  • 备案 网站名称谷歌google官网
  • 镇江网站建设一般多少钱网站备案
  • 为什么检测行业不能用网站做2023适合小学生的新闻事件
  • 网站微信收款二维码怎么做网站设计模板网站
  • 网站内容及内链建设北京seo运营
  • 重庆做网站changeke一个免费的网站
  • 十大创意网站天津网站建设
  • 百度权重2的网站seo引擎优化工具
  • 微信 购物网站开发太仓seo网站优化软件
  • 假网站连接怎么做的搜索引擎优化方法包括
  • 网站移动排名什么平台推广效果最好
  • 网站建设用什么语言开发seo168小视频
  • 网站兼容视图黑河seo
  • 哪个网站做初中英语试题赚钱合肥百度搜索优化
  • 宁晋企业做网站广州网站建设费用
  • 免费设计商标的网站青岛网站建设维护
  • 怎么选择大连网站建设百度推广关键词技巧定价
  • 企业做网站的注意什么seo案例模板