SQL即结构化查询语言(structured query language),它是一种用于和关系数据库进行交互通信的语言,用于对数据库进行操作。最早用于IBM内部,后来发展为行业标准。
SQL是高级的非过程化编程语言,它允许用户在高层的数据结构上工作,而不要求用户指定数据的存取方法,也不需要用户了解数据的具体存放方式。
1.SQL语言的种类
数据定义语言(data definition language,DDL),用于定义和改变模式对象。
数据操作语言(data manipulation language,DML),用于查询和操作对象中的数据。
事务控制语言(transation control language,TCL)
会话控制语言(session control language)
系统控制语言(system control language)
内置SQL(embedded sql)
DDL包括的操作:create, alter, drop, rename, truncate, grant, revoke, audit, noaudit, comment
DML包括的操作: select, insert, update, merge, delete, explain plan 及锁住表和用户
TCL包括的操作:commit, ollback, savepoint, set transaction
内置SQL包括的操作:定义、分配、释放游标,指定数据库或者连接数据库,变量设置,描述对象,错误或者警告处理,解析或者运行SQL语句,从数据库中获取数据,declare cursor,open,close,declare database,connect,declare statement,describe,whenever,fetch,prepare,execute等。
2.数据类型(Oracle data type)
char :存放固定长度的字符串;
varchar2 :存放变长的字符串,最大长度是4000字节;
nvarchar2:存放变长的unicode字符数据,最大长度是4000字节;
long :存放变长的字符数据,最大长度是2GB,保留这种数据是为了向后兼容,它将被LOB替代。建议不要用这种数据类型。
number :存放正负整数、分数、浮点型数据。
date :存放日期和时间
blob :存放非结构化的二进制数据,最大可存储128TB。
clob :存放字符数据,最大可存储128TB。
nclob :存放unicode国家字符数据,最大可存储128TB。
bfile :文件指针,指向操作系统文件,实际的文件存储在操作系统中,字段中存储的是文件定位指针,它是只读的,不参与事务控制。
rowid :存放表中数据行的地址。
urowid :存放物理行ID和逻辑行ID。