SQL学习

2 阅读1分钟

1. 数据库与表创建

sql

-- 创建数据库
CREATE DATABASE school CHARSET utf8;

-- 创建用户表
CREATE TABLE users(
    id INT PRIMARY KEY,
    name VARCHAR(50),
    password VARCHAR(50)
);

2. 常用 SQL 语句

  • 增:INSERT INTO users VALUES(1,'张三','123456');
  • 查:SELECT * FROM users WHERE name='张三';
  • 改:UPDATE users SET password='654321' WHERE id=1;
  • 删:DELETE FROM users WHERE id=1;

二、网站与数据库交互流程

  1. 连接数据库
  2. 获取用户输入(账号、密码)
  3. 拼接 SQL 语句执行
  4. 返回结果给用户

三、SQL 注入漏洞原理

核心原因:用户输入直接拼接到 SQL 语句中,未做过滤,导致恶意代码被执行。

经典万能密码案例

正常 SQL:SELECT * FROM users WHERE name='' AND password='';

恶意输入:用户名填 ' or '1'='1拼接后 SQL:SELECT * FROM users WHERE name='' or '1'='1' AND password='';

效果:条件恒成立,直接绕过登录。

四、总结

SQL 注入是最基础的 Web 漏洞,本质是用户输入被当作代码执行。防护关键:过滤用户输入,不直接拼接 SQL 语句。