SQL基础:常用SQL语句详解
到今天为止,人们对关系数据库做了大量的研究,并开发出关系数据语言,为操作关系数据库提供了方便的用户接口。关系数据语言目前有几十种,具有增加、删除、修改、查询、数据定义与控制等完整的数据库操作功能。通常把它们分为两类:关系代数类和关系演算类。
在这些语言中,结构化查询语言SQL以其强大的数据库操作功能、口语化、易学易用等特点,受到广泛的应用,成为数据库应用程序开发的一柄利剑。在数据库应用程序开发过程中,巧妙地使用SQL语句,可以简化编程,起到事半功倍的效果,本书中有些实例也大量使用了SQL语句。它由两部分组成,数据定义语言(DDL)和数据操作语言(DML)。
(1) 数据定义语言(DDL)
数据定义语言用来定义数据库的各级模式。常用关键字有:Create(建立数据表)、Alter(更改数据表)、Drop(删除数据表)。
建立数据表
CREATE TABLE table_name(
column1 DATATYPE [NOT NULL] [NOT NULL PRIMARY KEY],
column2 DATATYPE [NOT NULL],
...
)
说明:上面的DATATYPE 指的是字段的类型,NUT NULL 指是否为空,PRIMARY KEY 指本表的主键。
建立索引
CREATE INDEX index_name ON table_name (column_name)
说明:为数据表格的某个字段建立索引以增加查询时的速度。
更改数据表
ALTER TABLE table_name ADD COLUMN column_name DATATYPE
说明:增加一个字段。
ALTER TABLE table_name ADD PRIMARY KEY (column_name)
说明:将某个字段设为主键。
ALTER TABLE table_name DROP PRIMARY KEY (column_name)
说明:将某个字段的主键定义取消。
删除数据表
DROP table_name
DROP index_name
(2) 数据操作语言(DML)
数据操作语言(DML)用于操作数据表,如增加、删除、查询
相关文档:
今天在网上上看见一篇“将SQL查询结果转化为pojo对象的”博客,博主自定义做了一个类如下:
import java.lang.reflect.Field;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.property.ChainedPropertyAccessor;&n ......
select gztzid,
gztztt,
gztzbt,
gztznr,
fslxmc,
decode(fsfs, '0', '无需回复', '1', '需要回复') fsfs,
&nb ......
现在比较流行的SQL注入工具的工作方式是通过GET和POST来完成具体的注入。我们可以将注入时所用到的一切符号过滤掉。那么我们可以通过简单的判断语句来达到目的。我们先来过滤GET吧。
代码如下:
dim sql_injdata SQL_inj SQL_Get
SQL_injdata = "’|and|exec|insert|select|delete|update|count|*|%|chr|mid|mast ......
一、表的导入导出语句及时间字符串部分处理函数
导出数据库所有表的结构 mysqldump -uroot -proot db_name -d > d:/export_db.sql(结尾不用分号)
导出数据库某个表的结构 mysqldump -uroot -proot db_n ......
SQL 命令
这部分包含那些 PostgreSQL 支持的 SQL 命令的信息.这里的 "SQL" 就是该语言通常的含义; 每条命令的与标准有关的兼容性的信息可以在相关的参考页中找到.
Table of Contents
ABORT -- 退出当前事务
ALTER GROUP -- 向组中增加用户或从组中删除用户
ALTER USER --&nb ......