SQL 基础语法(创建表空间、用户、并授予权限、数据的增删改查) --(学习笔记)[转]

--创建表空间 名:lyayzh_test
create tablespace lyayzh_test
--创建表数据文件  名:lyayzh_test_data.dbf  必须以dbf为后缀
datafile 'lyayzh_test_data.dbf'
--初始化表空间大小 100M   可自动增长
size 100m autoextend on;


--查询此数据库所有表
select * from dba_data_files;


--创建用户
create user lyayzh identified by lyayzh
--指定用户使用的表空间
default tablespace lyayzh_test
--指定用户使用的临时表空间
temporary tablespace temp;


--给用户授予角色 :connect resource
grant connect, resource to lyayzh;



  插入数据

--向指定表中插入数据
insert into es_product(表中的字段名多个用逗号分隔)
values(对应上面字段名插入的值)


--多行插入 
insert into es_user_bak(写入的表)
select * from es_user(需要查询的表)where usertype=2(匹配的字段名的值)



  更新

--更新数据
update es_user(需要更新的表) set password='111111'(需要更新的字段名和值)


--以条件更新数据
update es_user (需要更新的表) set realname='李思思'(需要更新的字段名和值)
where id=3 (判断条件)




   查询

--判断所有字段值为空的数据
select * from es_user(表名) where usertype(字段名) is null


--查询指定字段名的数据
select username(字段名) from es_user 


--查询多个字段名数据
select username,id(多个字段名以逗号分隔) from es_user


--条件查询字段名数据
select username(字段名) from es_user
where usertype=1(判断条件)


--多个条件查询字段名数据(或)
select * from es_user(表名)
where id=1 or id=2 (多个判断条件or连接)


--多个条件查询字段数据(并且)
select * from es_user(表名)
where usertype=2 and realname='李1'(多个条件and连接)


--模糊查询 % 百分号任意匹配0到多个字符
like 模糊查询关键字
select * from es_user(表名)
where realname(字段名) like '李%'


-- _ 下划线任意匹配单个字符
select * from es_user(表名)
where realname(字段名) like '_四'


--模糊查询 in关键字
select * from es_user
where realname in ('李四','李1','张三')


--模糊查询 between and 关键字
select * from es_product (表名)
where price between 100(开始条件) and 1000(结束条件)



--取别名
SELECT ID(关键字) AS 会员编号(别名)FROM es_user(表名)
WHERE realname(字段名) LIKE '李%'



   排序
--排序 关键字 DESC(降序) ASC(升序,默认值) 
SELECT * FROM es_product(表名)
ORDER BY raledate(字段名) DESC

--去掉重复 关键字 distinct 
SELECT DISTINCT sort_id(字段名) FROM es_product(表名)



  删除
--条件删除数据 
DELETE FROM es_user u(表名加别名) WHERE u.id=1(条件)


--删除数据表 
DELETE FROM es_user(表名)

--回滚       --提交
ROLLBACK    COMMIT



  函数
--连接字符串 concat
SELECT CONCAT(p.address,'是首都') (两个字符串拼接)FROM es_user p



--nvl 函数
SELECT NVL(p.email, '没有邮箱')(判断第一个值为空时替换第二个显示) FROM es_user p



--虚拟表  dual



--数字截取函数  trunc 
--四舍五入截取函数 round




--获取完整时间 sysdate 
SELECT SYSDATE FROM dual



--截取部份时间 extract(需要的部分 from 时间来源)
SELECT EXTRACT(YEAR FROM SYSDATE) FROM dual



--to_char(时间来源, 转换后的时间格式) 函数转换时间 (时间转换成字符格式)
SELECT to_char(SYSDATE,'yyyy-mm-dd') FROM dual



--to_date(字符时间,转换后的格式) 函数转换时间  (日期字符转换成时间格式)
SELECT to_date('2013-12-3', 'yyyy-mm-dd')FROM dual


--聚合函数 sum(数据指定列) 总和

 

--聚合函数 count(数据指定列)  总记录数
SELECT COUNT(p.name) FROM es_product p
GROUP BY p.sort_id (分组条件)


--聚合函数 max(数据指定列)   最大值

转至http://www.cnblogs.com/lyayzh/archive/2013/05/07/3064182.html
原文地址:https://www.cnblogs.com/keepSmile/p/4744335.html