一、创建表
create table student {
id varchar2(21) not null primary key,
studentid varchar2(21) not null,
studentname varchar2(21) null,
studentnumber number null default 0
}
二、修改表
添加列
alter table student add score number(3) default 0;
alter table student add phone varchar2(16) ;
虚拟列
虚拟列在定义好后,不需要对该列插入数据,通过现有的列计算后的值填进去。
alter table student add(mid_score as ((low_score+high_score)/2));
修改列
alter table student modify studentname varchar2(10);
alter table student modify studentnumber number(5);
三、插入操作
Insert into student (.........) values (.......);
四、更新数据
插入数据后,我们需要对插入的数据进行更改,这时可以使用UPDATE或MERGE语句来修改。使用UPDATE语句时,可以使用表达式更新列值,也可以使用子查询更新一列或多列的数据。
注意
1) 如果要更新数字列,则可以直接提供数字值;如果要更新字符列霍日期列,则数据必须用单引号引住。
2) 当更新数据时,数据必须要满足约束规则。
3) 当更新数据时,数据必须要与列的数据类型匹配。
使用表达式更新数据
update student set studentname='zhangsan' where studentid='1'
运算符like说明
Sql的最强大的功能之一是提供了称为LIKE的模式匹配运算符,该运算符能搜索数据库列的每一行来查找你所描述的模式值。它使用两个特殊的字符来指示要进行哪种匹配。一个为百分号,称为通配符(wildcard),还有一个是下划线,称为位置标示符(position marker)。
1) 百分号(%)表示此处可接受任何内容,包括1个字符、100个字符,或无字符。
2) 下划线( _ )表示此处可以接受一个字符,不为无字符。
如:select * from basetab where msisdn like ‘861381542__%’;
3) 转义符说明
如:create tabletest1(test varchar2(10));
insert intotest1 values('_nihao');
insert intotest1 values('n_ihao');
想查出’_nihao’这条记录
select * from test1where test like ‘t_%’ escape ‘t’; t为转义符’_’被转义。
想查出’n_ihao’这条记录
select * from test1where test like ‘nl_%’ escape ‘l’; l 为转义符。
4) 有时需要将字符串连接起来,连接字符串是使用”||”操作符来完成的。当连接字符串时,要在字符串中加入数字值,”||”后面可以直接加入数字,如果要加入字符或日期,则需要用单引号引住。