上海大型网站开发公司,企业网站建设策划书范文,玉林市网站开发公司,网站推广见效快的方法文章目录 数据库数据类型建表create table插入数据insert into查询数据select from修改数据update set删除数据delete from备份ctas结果插入iis截断表 truncate table修改表结构alter table添加注释 注#xff1a;本文的SQL语法是基于Oracle数据库操作的#xff0c;但是基本的… 文章目录 数据库数据类型建表create table插入数据insert into查询数据select from修改数据update set删除数据delete from备份ctas结果插入iis截断表 truncate table修改表结构alter table添加注释 注本文的SQL语法是基于Oracle数据库操作的但是基本的SQL语法在数据库中应该都是通用的 数据库
什么是数据库什么是表 数据库可以理解为图书馆图书馆里面的书就是数据库中的数据数据库表就是书架每个架子都有自己名字编号不同的架子放的是不同类型的书数据库表也一样。
针对表的操作有很多可以分为对表本身的操作包括创建表、删除表、修改表这类操作称为DDL还有操作表中的数据包括插入数据、修改数据、删除数据这类操作称为DML还有一类是对前面操作的授权称为DCL最重要的是查询表中数据的操作称为DQL。
DDLdata definition language操作包括create table、alter table、drop tableDMLdata manipulation language操作包括insert into、update set、delete from、truncate tableDCLdata control language操作包括grant、revokeTCLtransaction control language操作包括commit、rollbackDQLdata query language操作包括select
数据类型
Oracle数据库中常用的数据类型大致如下
类 型描 述char(n)保存固定长度的字符串n在1-2000之间。varchar2(n)保存数字、字母等变长字符串n在1-4000之间。number(m,n)保存数字是整数或小数。n表示小数长度整数长度是m-n。date保存日期时间类型不含毫秒。timestamp保存日期时间类型含毫秒。clob存放海量文字。blob存放海量二进制文件如图片、电影、音乐等。
还有其他类型如long、float、int、rowid伪列等。 注
oracle数据库的表中的每一行数据都有一个唯一的标识符或者称为rowid在oracle内部通常就是使用它来访问数据的。char是一种固定长度的类型无论储存的数据有多少都会固定长度如果插入的长度小于定义长度则可以用空格进行填充。而varchar2是一种可变长度的类型当插入的长度小于定义长度时插入多长就存多长。
在SQL中没有bool类型在plsql中有bool类型。
建表create table
create table 表名 (列名1 类型, 列名2 类型....)说明
“create table 表名(列名 类型)”是固定写法。表名是自己起的英文开头可以包含数字可以包含下划线表名中不能有空格不要使用中文做表名。表名后面必须跟小括号里面是列的定义列名后面是一个类型中间用空格区分多个列定义之间使用逗号分割。列名定义规则跟表名一样。创建表时只能执行一次多次执行会报错“00955 名称已由现有对象使用”。
eg创建学生表stu
create table stu(sno number, sname varchar2(32), sage int, sdate date, sincome number(8,2));插入数据insert into
语法如下
insert into 表名(列1列2......)values(值1值2......);说明
“insert into (…) values (…)”是固定结构小括号是必须有的。第一个小括号中是需要插入的列名第二个小括号中是需要插入的值。一定要注意的是列名跟值是一一对应的。不仅个数一致位置也要一致。插入的值必须跟数据类型保持一致number/int类型就是纯数字varchar2类型是用单引号引起来date类型是字符串前面加date被插入的表必须存在如果不存在需要create table创建。同一条插入语句重复执行会插入多条相同的数据。
eg向表中插入下述内容
insert into stu(sno, sname, sage, sdate, sincome)values(1,张三,23,date1990-02-23, 3000.32);
insert into stu(sno, sname, sage, sdate, sincome)values(2,李四,24,date1989-10-12, 4300.46);
insert into stu(sno, sname, sage, sdate, sincome)values(3,王五,25,date1987-07-03, 4977.58);查询数据select from
语法如下
select * from 表名;
select 列名1, 列名2... from 表名;说明
“select … from …”是固定结构先写select再写fromselect后面跟着是星号表示显示所有列select后面可以跟具体的列名多个列名之间使用逗号分割from后面跟的是表名
修改数据update set
语法如下
update 表名 set 列名1新值1,列名2新值2 [where 列名某值];说明
“update … set …”是固定结构。set后面的等号表示把新值1赋给某一列让该列的值变成新的值有多个列的值要修改就写多个等式中间用逗号分割。where是可选的如果没有where条件意味着对所有行都修改有where条件只对满足条件的行做修改。
eg按下面要求修改stu中的数据
update stu set sincome4000;
update stu set sincome4000 where sno1;
update stu set sincome4000 where sno3;
update stu set sincomesincome1000;删除数据delete from
语法如下
delete from 表名 [where条件];说明
如果不带where条件则删除表中所有记录带where条件则删除符合条件的行。
eg按如下要求删除stu表中数据
-- 删除张三
delete from stu where sno1;
-- 删除所有
delete from stu;备份ctas
如果对一个表进行备份或者对表中一部分数据一部分列备份就可以使用ctas。 相当于“文件的另存为”功能。
语法如下
create table 新表名 as select语句eg 对stu表备份新的表名是stu1
create table stu1 as select * from stu;把stu表的sno、sname、sage三列数据备份到新的表stu2中。
create table stu2 as select sno, sname, sage from stu;创建一个表stu3结构跟stu表完全相同但是没有数据。
create table stu3 as select * from stu where 12;结果插入iis
查询一个表的内容把查询结果插入到另一个表中。 语法如下
insert into 表名 select语句;例 演示iis插入数据。
insert into stu3 select * from stu;截断表 truncate table
对于删除整个表的所有数据delete并不会释放表所占用的空间。 如果用户确定是删除整表的所有数据那么使用 truncate table 速度更快。
一个表可以看做是一张纸上面有很多数据使用delete删除相当于使用橡皮擦擦除数据使用truncate删除相当于换了一张新的纸非常干净而且速度快。
使用delete删除可以回滚数据使用truncate删除不能回滚数据。
例 对stu1表进行截断操作。
truncate table stu2;修改表结构alter table
主要操作包括增加列、删除列、修改列名、修改列的数据类型。
添加字段 语法如下
alter table 表名 add(列名1 列类型, 列名2 列类型)说明
添加列add后面有小括号里面是列名和类型添加多个列使用逗号分隔
例 在stu表中增加一列sphone类型是varchar2(11)。
alter table stu add (sphone varchar2(11));删除字段
alter table 表名 drop column 列名 例 删除stu表中刚刚添加的sphone列。
alter table stu drop column sphone;修改字段
-- 列的名字重新命名
alter table 表名 rename column 旧的列名 to 新的列名
-- 修改列的类型
alter table 表名 modify 列名 新的列类型例 把stu表中的列sincome改为salary。
alter table stu rename column sincome to salary;添加注释
comment on table 表名 is 注释内容;
comment on column 表名.字段名 is 注释内容;例 给stu表添加表注释和字段注释并在plsql developer中点击右键“描述”查看注释。
comment on table stu is 学生表;
comment on column stu.sno is 学号;
comment on column stu.sname is 学生姓名;