- 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小数位为nDATE:日期时间TIME:日期时间TIMESTAMP:日期时间DDL—数据库定义语言:直接提交的。???CREATE:用于创建数据库对象。???DECLARE:除了是创建只在过程中使用的临时表外,DECLARE语句和CREATE语句非常相似。唯一可以被声明的对象是表。并且必须放入用户临时表空间。?????DROP:可以删除任何用CREATE(数据库对象)和DECLARE(表)创建的对象。???ALTER:允许修改某些数据库对象的信息。不能修改索引。下面主要基于对象介绍基本的语法:1、数据库:??创建数据库:CREATE?DATABASE?database-name?[USING?CODESET?codeset?TERRITORY?territory]???注:代码页的问题。??删除数据库:drop?database?dbname2、表:??创建新表:???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?tbsname4、索引:??创建索引: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)