新手学习SQL看,SQL基础知识.docVIP

  • 5
  • 0
  • 约 9页
  • 2016-10-18 发布于贵州
  • 举报
新手学习SQL看,SQL基础知识

新手学习SQL必看,SQL基础知识 SQL定义:SQL是一种面向数据库的通用数据处理语言规范,能完成以下几类功能:提取查询数据,插入修改删除数据,生成修改和删除数据库对象,数据库安全控制,数据库完整性及数据保护控制。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) db2数据类型 CHAR():定长字符串??最大长度为?254??? VARCHAR():变长字符??最大长度为?4000?? SMALLINT:短整型数字??长度为?2?字节? INTEGER:整型数字??长度为?4?字节? REAL:单精度浮点??32?位近似值? DOUBLE:双精度浮点??64?位近似值 DECIMAL(m,n):数字??精度为m小数位为n DATE:日期时间 TIME:日期时间 TIMESTAMP:日期时间 DDL—数据库定义语言:直接提交的。 ???CREATE:用于创建数据库对象。 ???DECLARE:除了是创建只在过程中使用的临时表外,DECLARE语句和CREATE语句非常相似。唯一可以被声明的对象是表。并且必须放入用户临时表空间。?? ???DROP:可以删除任何用CREATE(数据库对象)和DECLARE(表)创建的对象。 ???ALTER:允许修改某些数据库对象的信息。不能修改索引。 下面主要基于对象介绍基本的语法: 1、数据库: ??创建数据库:CREATE?DATABASE?database-name?[USING?CODESET?codeset?TERRITORY?territory]? ??注:代码页的问题。 ??删除数据库:drop?database?dbname 2、表: ??创建新表: ???create?table?tabname(col1?type1?[not?null]?[primary?key],col2?type2?[not?null],..) ??根据已有的表创建新表: ???A:create?table?tab_new?like?tab_old ???B:create?table?tab_new?as?select?col1,col2…?from?tab_old?definition?only 修改表: 增加一个列: Alter?table?tabname?add?column?col?type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。添加主键: Alter?table?tabname?add?primary?key(col) 删除主键: Alter?table?tabname?drop?primary?key(col) ?删除表:drop?table?tabname? 3、表空间: ??创建表空间:create?tablespace?tbsname?pagesize?4k?managed?by?database?using?(file?‘file’?size) ??表空间加入容器:alter?tablespace?tablespace_name?add(file?filename?size) ??注:该操作是不可逆的,加入容器后将不能将其删除,因此在加入的时候注意。 ??删除表空间:drop?tablespace?tbsname 4、索引: ??创建索引:create?[unique]?index?idxname?on?tabname(col….)? ??删除索引:drop?index?idxname ??注:索引是不可更改的,想更改必须删除重新建。 5、视图: ??创建视图:create?view?viewname?as?select?statement ??删除视图:drop?view?viewname ????注:视图唯一能修改的是引用类型列,改变列的范围。其他定义好了都不能修改。当视图基于的基表drop后,视图变为无效。 DML—数据库操纵语言,它不隐式地提交当前事务?,是否提交视环境设定而定。 ?SELECT:从表中查询符合数据 ??注:条件中连接的问题,避免出现笛卡儿乘积 ? ?DELETE:删除已有表的数据 ?UPDATE:更新已有表的数据 ?INSERT:向已有表中插入数据 ?注:DELETE,UPDATE和INSERT是否直接提交取决与执行语句所在的环境。 ?在执行时注意事务日志满的情况。 1、select时,注意索引谓词和非索引谓词,尽量在有索引的列上使用索引谓词。 谓词类型 可索引注???????

文档评论(0)

1亿VIP精品文档

相关文档