建表修改字段等语句
1.建表
create table student (
id int,
name varchar(30),
birthday date,
score numeric(5,2)
)
2.修改表名称
alter table student rename to student1;
3.修改表中列的类型
alter table student1 alter column name type varchar(40);
4.删除表的某个字段
alter table student1 drop column birthday;
5.修改表的某个字段的名称
alter table student1 rename id to bh;
4.增加表的字段
alter table student1 add column address varchar(200);
常用数据类型
数值类型: 整数类型: smallint 小范围整数 -32768-32767
int (Inerger) 普通大小整数 -2147483648~2147483647
浮点数类型:real 六位十进制数字精度
mumeric(m,n) 总共有m位(精度),小数点后有n位(范围)
时间类型:
字符串类型:
运算符
加减乘除和取余
比较运算符
比较运算符,等于
select 1=0, '2'=2,'b'='b',null=null,null=0;
1.如果有null,那么比较结果为空
2.如果字符串和数字类型比较,会把数字类型转为字符串,再比较(如果是'2'=2.0 相等)
between and
select 2 between 1 and 3 ,2 between 3 and 5, 3 between 3 and 6;
select 2 in (2,3,4), 2 in (3,4,5) , 2 not in (3,4,5);
like
逻辑运算符
not是取反
select not '1',not 'y',not '0',not 'n'; y s 0 1 string类型的,分别对应 true 或者false
查询排序,将排序字段为空的字段放在结果集的最后(last改为first可以放最前面)
offset关键字 ,限制查询结果从哪里开始截取,下图是截取从第五条记录开始截取,截取五条。
可以用于分页查询
union all 关键字可以将相同列数的两个查询结果拼接 。字段名和第一个的结果一致
如果两个查询结果有重复记录,union all会有两条相同记录,使用union关键词代替union all 会将重复记录去重。
select * from student1 where bh =1
union all
select * from dept;
函数
字符串链接函数
查询当前时间日期
extra() 截取日期类型的某个值
select timestrap,extract(year from timestrap),
extract(day from timestrap);
自定义函数
create or replace function contact_test (varchar,varchar)
returns varchar as 'select $1||$2'
language sql
returns null on null input;
select contact_test ('22','22');
查询数据库表并调用自定义函数:
删除方法
drop function contact_test (varchar,varchar);
视图
创建视图
查询视图和删除视图
查询
批量查询插入
清空表中数据
truncate table sutdent_now;