SQL
表
创建表
1:
create table 表名(
列名1 列类型1,
列名2 列类型2,
...
) [tablespace 表空间名]
最后一条定义语句不能加,号
2:
create table 表名 as select语句
根据查询结果创建一个新的表
列与查询结果中的列相同
数据与查询结果中的数据相同
数据类型
varchar2(n)
长度可变的字符串
n指定的是字符串的最大字节数,最大值是4000
单位是字节
必须指定n
一个字符几个字节,和使用的编码有关:
GBK:英文 1 byte;中文 2 byte;
UTF-8:英文 1byte;中文 3 byte;
UTF-16:中英文 2 byte;
ASCII、iso-8859-1:只能表示英文 1byte。
查看数据库字符编码:
select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';
修改数据库字符编码:
ALTER SYSTEM ENABLE RESTRICTED SESSION; RESTRICTED有限制的
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; queue 队列 process处理
alter database character set internal_use utf8; ZHS16GBK
操作要求数据库处于 RESTRICTED 模式下
当其它会话处于活动状态时, 无法执行操作
关闭、重启数据库生效
长度可变 length()
varchar(n)
varchar和varchar2目前没有区别,
底层也会转成varchar2,
不过ocacle以后的版本可能不再支持varchar类型,
如果想兼容新版本Oracle就不要使用varcha
建议使用varchar2类型,可以保证更好的兼容性
char(n)
固定长度的字符串
n指定的是字符串的字节数,最大值为2000
单位是字节
可以不指定n,默认值为1
固定长度 length(),实际字节数不够指定的字节数,补空格
number(p,s)
整数/浮点数
p数字的总位数
s小数点后的位数
p,s都不是必须的,默认值范围10^(-130) —— 10^126(不包括)
变长类型,长度为0-22字节
注意:
没有指定小数点后的位数,表示整数,插入的数据如果带小数部分,则小数位四舍五入
如果小数位数不足以保存插入的实际数据,从允许位数的下一位开始四舍五入
如果指定的小数长度是负数,则表示整数,整数长度为p-s,小数位直接舍弃,不会四舍五入
date
日期时间类型
精确到秒
默认日期时间格式:日-月-年
实际保存了时间数据,只不过默认显示格式没有显示
使用默认日期时间格式的字符串,可以直接给date类型的字段赋值
sysdate函数
使用时不能加()
返回date
返回服务器前日期时间
to_char函数
to_char(date,format)
将日期转换为格式化的字符串
format:
yyyy/yyy/yy/y/空
mm简写月,mon全称月
09 9月
表
创建表
1:
create table 表名(
列名1 列类型1,
列名2 列类型2,
...
) [tablespace 表空间名]
最后一条定义语句不能加,号
2:
create table 表名 as select语句
根据查询结果创建一个新的表
列与查询结果中的列相同
数据与查询结果中的数据相同
数据类型
varchar2(n)
长度可变的字符串
n指定的是字符串的最大字节数,最大值是4000
单位是字节
必须指定n
一个字符几个字节,和使用的编码有关:
GBK:英文 1 byte;中文 2 byte;
UTF-8:英文 1byte;中文 3 byte;
UTF-16:中英文 2 byte;
ASCII、iso-8859-1:只能表示英文 1byte。
查看数据库字符编码:
select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';
修改数据库字符编码:
ALTER SYSTEM ENABLE RESTRICTED SESSION; RESTRICTED有限制的
ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; queue 队列 process处理
alter database character set internal_use utf8; ZHS16GBK
操作要求数据库处于 RESTRICTED 模式下
当其它会话处于活动状态时, 无法执行操作
关闭、重启数据库生效
长度可变 length()
varchar(n)
varchar和varchar2目前没有区别,
底层也会转成varchar2,
不过ocacle以后的版本可能不再支持varchar类型,
如果想兼容新版本Oracle就不要使用varcha
建议使用varchar2类型,可以保证更好的兼容性
char(n)
固定长度的字符串
n指定的是字符串的字节数,最大值为2000
单位是字节
可以不指定n,默认值为1
固定长度 length(),实际字节数不够指定的字节数,补空格
number(p,s)
整数/浮点数
p数字的总位数
s小数点后的位数
p,s都不是必须的,默认值范围10^(-130) —— 10^126(不包括)
变长类型,长度为0-22字节
注意:
没有指定小数点后的位数,表示整数,插入的数据如果带小数部分,则小数位四舍五入
如果小数位数不足以保存插入的实际数据,从允许位数的下一位开始四舍五入
如果指定的小数长度是负数,则表示整数,整数长度为p-s,小数位直接舍弃,不会四舍五入
date
日期时间类型
精确到秒
默认日期时间格式:日-月-年
实际保存了时间数据,只不过默认显示格式没有显示
使用默认日期时间格式的字符串,可以直接给date类型的字段赋值
sysdate函数
使用时不能加()
返回date
返回服务器前日期时间
to_char函数
to_char(date,format)
将日期转换为格式化的字符串
format:
yyyy/yyy/yy/y/空
mm简写月,mon全称月
09 9月