数据库篇(Oracle) ---基础SQL语句

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/programlight/article/details/79283922
---基本的操作语句---

一:数据库
    创建数据库 create database database_name;
    删除数据库  dropdatabase database_name;
    修改数据库 alter database database_name ...;
    修改数据库名字  sp_renamedb 'old_name','new_name';
    查询所有数据库  show databasees;
    备份数据库   backup database pubs to testback;
    分离数据库  sp_detach_db 'path';
    附加数据库   sp_attach_db 'path';
    压缩数据库   dbcc shrinkdatabase(database_name);

二:表
    创建表(新建)
      create table table_name(
             id char(10) not null primary  key,
          name char(20) ,
age int
);
  创建表(根据已有的创建,不加where条件默认复制内容)   create table table_new as select * from table_old;
 创建表(根据已有的创建,不复制其内容  create table table_new as select * from table_old where 1==2(或1<>1);
  删除表  drop table table_name; (不可回滚,可以在回收站闪回,可在后面加purge关键字,可彻底删除不走回收站)
不删表删数据  truncate table table_name;(不可回滚,数据不可找回,所以要注意)

  不删表删数据  delete from table_name ;(可回滚,可带条件查询,只能删除表数据,不能删除表约束)

  修改表(增加属性)   alter table table_name add column col type;
  修改表(删除属性)   alter table table_name drop column col type;
修改表(添加主键)   alter table table_name add primary key(col);
修改表(删除主键)   alter table table_name drop primary key(col);

三:索引
 给表建立索引 create (这里还可以加是否唯一的约束)index index_name on table_name(col... (这里可以加排序规则));

      create 后可以加唯一性约束 还可以在加索引的列中根据需求加上排序

 删除索引 drop index index_name;

   注意:索引是不可以修改的,要想修改的话只能删除再新建(会在深入学习篇深入讲解)

四:视图
  创建视图 create view view_name as select statment; (会在深入学习篇深入讲解)
删除视图 drop view view_name;

五:基础SQL语句
查询语句 selsct * from table_name;  也可以查询指定字段
带条件查询 select * from table_name where 条件;后面可以跟各种条件(and,or,>,<,>=,<=,=,<>,!=,not)
其它比较运算:between...and...在两个值之间(包含边界),in(set)等于值列表中的一个,is null不为空 

分组查询 select colname,count(*) from table_name group by colname;

注意:在select子句中出现的非多行函数的所有列,必须出现在group by子句中

 在group by子句中出现的所有列,非必须出现在select子句中       

带条件查询 select colname,count(*) from table_name group by colname having 条件;

排序查询 selsct * from table_name order by col1,col2 排序方式;  acs 正序,desc逆序,默认按插入记录顺序排序;

注意:当有多列排序时,只有前一列有相同值时才会按照后一列排序,否则不执行,ordery by 字句在select语句的结尾

模糊查询 select * from table_name where colname like 条件;          %:表示任意个字符  _:表示一个字符  

注意回避特殊符号的:使用转义符。例如:将'%'转为'\%'、'_'转为'\_',然后再加上ESCAPE '\' 即可

查询时合并列 select col1,col2,(col3+col4) from table_name;   合并列后根据需求建议起个别名,方便之后的操作

注意:合并列只能合并数值类型的字段,想合并字段的话可以用 || 连接符进行连接

去除重复查询 select distinct col1,col2 from table_name;  可以用在字段或函数中

注意:distinct 只能放在开头,默认后面的字段都会生效,若只想特定字段生效可以加括号,把该字段放括号里

聚合查询 select 聚合函数(col) from table_name; 常用聚合函数:sum() ,avg(),  max(),  min(), count()

注意:count()函数统计的数量不包含null的数据

分页查询 select * from table_name limit(当前页-1)*每页显示多少条,每页显示多少条;

第一个数字也可以简单理解为从第几条数据开始,0的话可以省略,第二个数字是要查询几条



猜你喜欢

转载自blog.csdn.net/programlight/article/details/79283922