SQL注入产生的原因:程序开发过程中不注意规范书写sql语句和对特殊字符进行过滤,导致 客户端可以通过全局变量POST和GET提交一些sql语句正常执行。
防止SQL注入的方式:
1、 开启配置文件中的 magic_quotes_gpc 和 magic_quotes_runtime 设置
2、 执行sql语句时使用addslashes进行sql语句转换
3、 Sql语句书写尽量不要省略双引号和单引号。
4、 过滤掉 sql 语句中的一些关键词:update, insert、delete, select *
5、 提高数据库表和字段的命名技巧,对一些重要的字段根据程序的特点命名,取不易被猜到的。
创建索引语法如下:
1、PRIMARY KEY (主键索引)
mysql>ALTER TABLE table_name ADD PRIMARY KEY ( column )
2、 UNIQUE (唯一索引)
mysql>ALTER TABLE table_name ADD UNIQUE (column )
3、 INDEX (普通索引)
mysql>ALTER TABLE table_name ADD INDEX index_name ( column )
4, FULLTEXT (全文索引)
mysql>ALTER TABLE table_name ADD FULLTEXT( column )
mysql>ALTER TABLE table_name ADD INDEX index_name (column1, column2, column3)
索引有什么好处:
1、索引是数据表种一个或者多个列进行排序的数据结构
2、索引能够大幅提升检索速度
3、创建、更新索引本身也会耗费空间和时间
创建索引类型有哪些?
1、 唯一索引:不允许有俩行具有相同的值
2、 主键索引:为了保持数据库表与表之间的关系
3、 聚集索引:表中行的物理顺序与键值的逻辑(索引)顺序相同。
4、 非聚集索引:聚集索引和非聚集索引的根本区别是表记录的排列顺序和与索引的排列顺序是否一致
5、 复合索引:在创建索引时,并不是只能对一列进行创建索引,可以与主键一样,将多个组合为索引
6、 全文索引:全文索引为在字符串数据中进行复杂的词搜索提供有效支持
Was this helpful?
0 / 0