文章目录
- 1. MySQL基础操作
- 2. SQL注入防范
- 3. 参考资料
1. MySQL基础操作
1.1 数据库管理
1. 远程连接数据库
使用命令行工具连接MySQL服务器,格式如下:mysql -h IP地址 -u 用户名 -p 密码
。例如:mysql -h 192.168.124.8 -u root -p 123
。
2. 查看所有数据库
执行命令SHOW DATABASES;
可以列出MySQL服务器上的所有数据库。
3. 选择数据库
通过命令USE 数据库名;
来切换当前操作的数据库,例如:USE dvwa;
。
4. 查看当前数据库
使用SELECT DATABASE();
可以查看当前正在使用的数据库。
5. 创建数据库
创建一个新的数据库,命令格式为CREATE DATABASE 数据库名;
,例如:CREATE DATABASE test;
。
6. 删除数据库
删除已存在的数据库,命令格式为DROP DATABASE 数据库名;
,例如:DROP DATABASE test;
。
1.2 表管理
1. 创建表
创建表时可以定义表的结构,包括字段名称、类型和约束条件。例如:CREATE TABLE relationship (id INT(4) PRIMARY KEY, name CHAR(10) NOT NULL, sex CHAR(2));
。创建完成后,可以使用SHOW TABLES;
查看当前数据库中的所有表。
2. 删除表
删除表的命令格式为DROP TABLE 表名;
,例如:DROP TABLE relationship;
。
3. 修改表名
修改表名的命令格式为ALTER TABLE 原表名 RENAME TO 新表名;
,例如:ALTER TABLE relationship RENAME TO new123;
。
4. 修改表结构
修改表结构包括添加、删除和更改字段。例如,添加字段:ALTER TABLE new123 ADD COLUMN address CHAR(10) NOT NULL;
;删除字段:ALTER TABLE new123 DROP COLUMN address;
;更改字段:ALTER TABLE new123 CHANGE COLUMN age age INT(4) NOT NULL;
。
5. 查看表结构
使用DESCRIBE 表名;
或DESC 表名;
可以查看表的结构信息。
6. 查看字段注释
查询字段及其注释的信息,可以使用SELECT COLUMN_NAME, COLUMN_COMMENT FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '数据库名' AND TABLE_NAME = '表名';
。
1.3 数据操作
1. 插入数据
向表中插入数据的命令格式为INSERT INTO 表名 (字段列表) VALUES (值列表);
。例如:INSERT INTO new123 (name, sex, address, age) VALUES ('tom', 'man', 'beijing', 20);
。
2. 更新数据
更新表中数据的命令格式为UPDATE 表名 SET 字段=新值 WHERE 条件;
。例如:UPDATE new123 SET sex='man' WHERE name='tom';
。
3. 查询数据
基本查询命令格式为SELECT * FROM 表名 WHERE 条件;
。还可以使用各种SQL函数进行复杂查询,如LIMIT
、LIKE
、COUNT
、SUM
、MAX
、MIN
、AVG
、DISTINCT
和ORDER BY
等。
4. 删除数据
删除表中数据的命令格式为DELETE FROM 表名 WHERE 条件;
。例如:DELETE FROM new123 WHERE name='cat';
。清空整个表的数据可以使用TRUNCATE 表名;
。
2. SQL注入防范
SQL注入是一种常见的Web安全威胁,攻击者通过在输入中嵌入恶意SQL代码,以达到非法访问或破坏数据库的目的。防范SQL注入的方法包括:
- 使用预编译语句(Prepared Statements)或参数化查询。
- 对用户输入进行严格的验证和过滤。
- 最小权限原则,为应用程序分配必要的最低权限。
- 定期审计和更新数据库和应用程序的安全设置。
3. 参考资料
本文参考了以下资源,帮助读者更深入地理解和应用MySQL数据库操作和SQL注入防范技术:
- 《Web安全学习指南》
- 《MySQL官方文档》
- 《SQL注入防范手册》
- 《Web应用安全最佳实践》