数据库语句的简单使用

数据库的安装

这里就不在说了,之前的博客已经说过了数据库的安装了。这里的主要是讲一下数据库语句的使用规则。

数据库的操作语句

数据库的操作主要是增(create)、删(drop)、改(alter)、查(show)。

1.创建数据库

create database 数据库名(charater set utf8);

2.查看数据库

show databases;

3.修改数据库属性(数据库的名字不能修改)

alter database 数据库名 set utf8;

4.删除数据库

drop database 数据库名;

对表格的操作语句

对表格的操作过程中会多一些操作,因为表中还包含了表头。

1.创建表

create table 表名(列名 数据类型 defalt 默认初始值,
列名 数据类型,
列名 数据类型,… );

对表的约束条件:
主键(非空 唯一) primary key
非空 not null
唯一 unique
检查 check()
外键 reference

2.查看表

show tables;查看表
desc 表名;查看表的结构

3.修改表

增加一列 alter table 表名 add 列名 数据类型;
修改列属性 alter table 表名 modify 列名 数据类型;
修改列名 alter table 表名 rename column 新列名 to 旧列名;
删除一列 alter table 表名 drop column 列名;

4.删除表

drop table 表名;

对数据的操作语句

1.增加数据(插入数据)

insert into 表名 value(根据表的结构填数据);

插入部分数据:
insert into 表名(列名,列名····) values(值1,值2····);

&符号的使用:是一个占位符
insert into 表名(列名,列名····) values(&V1,V2····);

拷贝表的结构:
creaet table 新表名 as select * from 旧表名 where 1=2;

拷贝数据到另外一张表:
insert into 表名 select * from 表名;

对表的约束条件:
主键(非空 唯一) primary key
非空 not null
唯一 unique
检查 check()
外键 reference

2.查看数据

公式:
select 【*】【列名】【表达式】as(起别名)
from 【表名】
where (条件)
group by
having (分组查询条件)
order by 【列名】【别名】【表达式】【序号】

注意:
1.表达式中有NULL ,计算的结果都为空,适合用nvl解决nvl(a,b)如果a为空,则取b的值。
2.distinct 是去重复,作用于后面的所有的列
3.查看数据是否为空不能用=号,用is null 或者is not null

表达式
1.case表达式
case 列名
when 条件 then 操作
when 条件 then 操作
when 条件 then 操作
else 操作
end 别名

2.decode
decode(列名,表达式,条件,操作,条件,操作,条件,操作·····)

where后面可以接:
1.比较运算符:> , >= , <, <=, !=(<>), between…and…
2.逻辑运算符 or and not
3.in集合 in( 值1,值2,值3,)
4.模糊查找 like ‘(%匹配多个字符,_匹配一个字符)’ (escape ‘\’ 指定\为转义字符)

order by排序:
默认是升序asc ,降序是desc
如果降序的时候有NULL ,NULL表示是无穷大,要排在最后使用nulls last
asc和dest只作用域前面的一列
根据次序排序的时候,次序是从1开始

group by使用(分组查询)
分组函数5个:agv(平均),count(总数),MAX(最大值),MIX(最小值),sum(总和)
注意:出现在select后面的列名如果没有出现在分组函数中,必须出现在group by后边
having后面根group by分组之后对结果过滤。
where 是在开始挑选数据的时候就过滤了。

多表查询
n个表需要n-1个条件。

假如有表A和表B。
等值和不等值连接
select a.*,b.* from A a ,B b where a.NO=b.NO;

外连接(两个表中的数据对应不平衡)
select a.*,b.* from A a ,B b where a.NO(+)=b.NO;
谁的数据对应少加(+)号

自连接(一个表中的数据有对应的关系)
既给同一张表起不同的名字
select a.*,a1.* from A a ,A a1 where a.NO(+)=b.NO;

子查询(sql语句嵌套sql语句)
可以在where,select,having,from后面放置子查询
select后面使用子查询结果只能有一条记录

3.修改数据

updata 表名 set 列名=值 where 条件;
注意:使用updata一定要使用where条件,否则会修改表中的所有的数据。

4.删除数据

delete from 表名 where 条件
注意:删除的时候一定要使用where,否则会删除所有的数据。

事务

有些数据库要自己手动的开启事务。
使用了数据库操作和表的操作数据库的事务会自动的提交,并开启下一个事务。
使用数据操作要自己commit提交。
事务主要是
commit 提交
rollback 回滚
savepoint 保存点

rollback to savepoint A ;回滚到保存点A

简单写一些数据库常用的语句,下次有时间写C++连接数据库。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值