Table of Contents
连接数据库
1
要连接远程数据库,要先确保客户端连接配置文件是正确的,路径是:
$ORACLE_HOME/network/admin/tnsnames.ora
可以使用自带的sqlplus命令行来连接数据库,username为用户名,passwd为密码,sid为连接标识符
sqlplus username/passwd@sid
比如
sqlplus dbuser/dbuser123@mydb
连接成功后,命令行将会变成SQL>
开头,这时候就可以进行相关sql操作了
查询select
2
基本语法:
select 字段名(*) from 表名 (where 条件表达式)
例子:
查询用户mac地址为AA:BB:CC:DD:EE:FF的用户名
select user_id from t_user where usermac1='AA:BB:CC:DD:EE:FF';
查询网点ID为144并且上网策略组ID为122的用户,并打印所有字段信息
select * from t_user where class_id = 144 and group_id = 122;
查询当前所有从vlan1011上来的用户的数量
select count(*) from t_online where vlanid = 1011;
查看用户test1的用户名和密码
select user_id,passwd from t_user where user_id = 'test1';
更新update
3
基本语法:
update 表名 set 字段名=值 (where 条件表达式)
例子:
把网点ID为144并且用户MAC地址为AA:BB:CC:DD:EE:FF的用户转移到上网策略组122
update t_user set group_id = 122 where class_id = 144 and usermac1 = 'AA:BB:CC:DD:EE:FF';
把网点ID为103的所有用户的密码改成123456
update t_user set passwd = '123456' where class_id = 3;
清空网点ID为104的所有用户的MAC地址绑定
update t_user set userbindflag1 = '000',usermac1= '' where class_id = 104;
删除delete
4
基本语法:
delete from 表名 where 字段名 = 值;
例子:
删除网点ID为103并且vlan为1001到1005的所有上网清单
delete from t_ticket where class_id = 103 and vlanid between 1001 and 1005;
删掉用户13800138000
delete from t_user where user_id = '13800138000';
删除用户表所有条目
delete from t_user;
插入insert
5
基本语法:
按字段顺序插入:
insert into 表名 values (值1,值2,值3,……);
按指定字段插入:
insert into 表名 (字段名1,字段名2,……) values (值1,值2,);
注意事项
使用sqlplus的时候,所有数据库写操作(update、delete、insert)都必须在执行完语句之后执行commit;
才能将更改写入数据库,否则更改不会生效。另外,在commit;
之前可以使用rollback;
来撤销所有未提交的写入操作。
附录 – where子句
6
where子句是用来指定条件的,一般的用法是where 字段名=某个值,则表示符合这个条件的记录才进行操作。多个条件之间可以用逻辑运算符and或or来连接,比如:
select * from t_user where class_id = 100 or class_id = 101;
则查询所有class_id为100或101的用户所有信息
此语句也可以写成select * from t_user where class_id between 100 and 101;
还可以写成select * from t_user where class_id in (100, 101);
以上3种写法都是等效的
select * from t_user where class_id = 100 and group_id = 50;
则打印所有class_id为100并且group_id为50的用户所有信息
select user_id from t_user where usermac1 like 'AA:BB:CC%';
则打印所有MAC为AA:BB:CC开头的用户的ID
发表回复