SQL简单语法和例子

1.查询当前数据库中所有表名
select * from user_tables;
2.查询指定表中的所有字段名
select column_name from user_tab_columns where table_name = 'table_name';--表名要全大写
3.查询指定表中的所有字段名和字段类型
select column_name, data_type from user_tab_columns where table_name = 'table_name';--表名要全大写
4.查询指定表的所有列名和相应的列注释
select * from user_col_comments where table_name = 'AQ_AREA';--表名要全大写
5.查询当前数据库中所有表名和注释
select * from user_tab_comments;

---创建表
create table 表名(
字段名 字段类型,
.....
字段名 字段类型
);
---例子 创建表han+字段注释
CREATE TABLE ROOT.han(
    SLength NUMBER,
    SWidth NUMBER,
    PLength NUMBER,
    PWidth NUMBER,
    Species VARCHAR2(18)
);
comment on column han.SLength is "萼片长度";
comment on column han.SWidth is "萼片宽度";
comment on column han.PWidth is "花瓣宽度";
comment on column han.PLength is "花瓣长度";
comment on column han.Species is "种类";

---在表中增加一个字段
alter table 表名
add 字段  字段类型;
---例
ALTER table han
ADD fenlei VARCHAR2(18);

---删除表中的字段名
alter table 表名
drop column 字段名;
---例
alter table han
drop column fenlei;

---使用alter table修改表中的列
--语法
修改字符数据类型的长度
alter table 表名
alter column 字段名 char(修改后的长度);

该表字段的数据类型
alter table 表名
alter column 字段名  修改后的数据类型

---删除表
drop table 表名

---使用insert语句向表插入数据
数据插入语法:
insert into 表名
(
字段1,字段2,字段3,...字段n
)
values
(
值1,值2,值3,...值n
)
注: n最大可等于1024
---例 向iris表中添加一行
insert into iris
(
)

----例:把iris表中数据插入A1空表中
INSERT INTO ROOT.A1 --(名称, 列名, XUHAO, JIEGUO) 
SELECT
    "SLength",
    "SWidth",
    "PLength",
    "PWidth"
FROM
    ROOT.IRIS;

---使用updata修改记录
--语法格式:
updata 表名
set 字段1 = '修改后的值',
     字段2 = '修改后的值'
     ....
  where 条件
注: 一次可以修改多列
---例1 
update han
set species = 'setosa'
where species = 'nice';
---例2
update han
set SLENGTH = 'SLENGTH + 10';

----使用delete删除表记录
---语法格式
--从表中删除一条记录
delete from 表名
where 条件;
---例(从表中删除多条记录)
DELETE
FROM
    han
WHERE
    SLENGTH = 15.10
AND SWIDTH = 3.50
AND PLENGTH = 1.40
AND PWIDTH = 0.20
AND SPECIES = 'setosa';

--删除表中所有记录,保存表结构
delete from 表名

---模糊查询 like
--%:代表所有可能的情况
--"%"号的使用情况
--- %N% 表示包含N
--- N% 表示N开头
--- %N 表示N结尾
---基本语法
select 字段名
from 目标表
where 字段名 like 条件;

---例2
--查找学生姓名不是以马,刘,李开头的学生信息
select * from Member 
SELECT * FROM HAN WHERE Species not LIKE 's%';

---between....and 在...范围之内
---例1 查找Sepal.Length在15和30之间的数据
SELECT * FROM IRIS
WHERE "Sepal.Length" BETWEEN 15 AND 30;

---例2 查找Sepal.Length不在15和30之间的数据
SELECT * FROM IRIS
WHERE "Sepal.Length" NOT BETWEEN 15 AND 30;

SQL自定义函数
自定义函数分为两种:
1.标量值函数
2.表格值函数

一. 标量值函数
标量值函数 :返回一个标量值
语法:
Create function 函数名(参数)
Returns 返回值数据类型
as
begin
SQL语句(必须有return 变量或值)
End


CREATE  FUNCTION MySTR(@strs VARCHAR(50))
RETURNS VARCHAR(50) 
AS
BEGIN
 DECLARE @str2 VARCHAR(30)
 SET @str2=@strs
 RETURN @str2
END
---执行函数
SELECT dbo.MySTR('aa') AS result

二. 表格值函数
表格值函数有二种(内联表格值函数,多句表格值函数)

a. 内联表格值函数
语法:
create function 函数名(参数)
returns table
as
return(一条SQL语句)


CREATE  FUNCTION   tabcmess(@title VARCHAR(10))
RETURNS  TABLE 
AS 
return(select title,des from product where title like '%'+@title+'%')
--执行
SELECT * FROM tabcmess('aaa')

b、 多句表格值函数
语法:
create function 函数名(参数)
   returns 表格变量名table (表格变量定义)
as
   begin
    SQL语句
   end


CREATE   function tabcmessalot (@title varchar(10))
Returns @ctable table(title varchar(10) null,des varchar(100) null)
As
Begin
Insert @ctable Select title,des from product WHERE title LIKE '%'+@title+'%'
return
End
--执行
SELECT * FROM tabcmessalot('aaa')


 

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值