数据库基本操作语句

来源:互联网 发布:淘宝店铺怎么增加分类 编辑:程序博客网 时间:2024/06/08 07:47

数据库(Database):
是按照数据库来组织,储存和管理数据的仓库,可以看做电子文档储存柜,用户可以对文件中的数据进行增加、截取、更新、删除等操作。


物理数据库:
数据库的中间一层,是物理存贮设备上实际存储的数据的集合;


概念数据层:
数据库的中间一层,是数据库的整体逻辑表示;


逻辑数据层:
用户所看到和使用的数据库;
数据库可以是一个软件,可以建多个数据库,在数据库里进行修改和查询




MySQL数据库:
优点:
适合做网站;
PHP完美结合;
开源软件;
oracle数据库
优点:
安全性好;
稳定性高;
兼容性好;
缺点:价格昂贵;
sqlserver数据库:
优点:简单易用;
缺点:只能易用windows平台
access数据库:
优点:
界面友好;
易学易用;
开发简单;
接口灵活;


SQL的4个部分:
1.数据定义语言DDL(Data Definition Language)用来定义数据的结构:create(增加)、alter(修改)、drop(删除)
2.数据控制语言DCL(Data Control Language)用来控制数据库组件的存取许可、存取权限等得命令:grant、revoke
3.数据操纵语言DML(Data Manipulation Language)用来操纵数据库中的数据的命令:insert、updste、delete
4.数据查询语言DQL(Data Query Language)用来查询数据库中得数据命令:select


create table liek(表的名称)(id int,);
删除表
brop table liek(表名)
修改表
Alter table liek(表名)add column col type
为普通用户赋予增删改查的权限:
grant权限on数据库对象to用户;
grant select,updete,insert,delete on testdb.*to user
为用户赋予创建、修改、删除MySQL数据表结构权限
grant create on testdb.*to;
grant alter on testdb.*to;
grant drop on testdb.*to;
为用户赋予管理整个数据库的权限
grant all pricileges on teestdb to
查看当前用户(自己)权限
show grants;
revoke和grant的语法差不多,只需要把关键字“to”换成“from”即可;
grant all on*.*to;
revoke all on*.*from;


向表中插入数据
insert into liek(表名)values();
更新表中的数据
update liek (表名)set fieidl=valuel where conditions
查询表中的数据
select*from liek where conditions


常用函数
显示记录条数:top/limit
计数:count
求合:sum
求平均值:Avg
求最小值:Min
连接字符串:Concat
取字符串:Substr


添加表:
INSERT INTO liek(表名) VALUES(9(ID),'yh'(名字),0(性别1男0女),103(用户),0(密码));
修改:
UPDATE liek(表名) SET usesname  = "hj"(名字) , exg = 1(性别) WHERE id = 5;
删除:
DELETE FROM liek(表名) WHERE id=3;
添加:
INSERT INTO liek(表名) (usesname(姓名),exg(性别),pwd(用户)) VALUES('sj',1,'125');
别名:
SELECT id AS"学号",usesname AS"名字",exg AS"男女",pwd AS"用户",flige AS"密码" FROM liek(表名);(AS和引号可要可不要)
一般数据库都有对应的客户端




开启MySQL:输入net start MySQL
关闭MySQL:输入net stop MySQL




distinct关键字:用distinct关键字来消除结果集中的重复信息,只显示一行(减少查询中一样的字符段,完全一样的删除,表示表单上的)减少沉积。
SELECT DISTINCT*FROM liek;
SELECT DISTINCT usesname exg,password FROM liek;
查询ID大于1的:




SELECT*FROM liek WHERE id>1;(<,<!>(不等于),<>(不等于),any(任何一个),all(所有))




is null(为空),is not null(不为空)




like(模糊查询,不常用),is not like(不)
SELECT*FROM liek WHERE id LIKE '%1'(‘_1'(两位数,第二位是一),'_1_'(三位数,第二位是一),'%1%(字符中间包含一)','_1%(第二个是一)',);(查询最后一位为一)


and(两个条件都成立)or(满足其中一个条件即可)
SELECT*FROM liek WHERE usesname LIKE 'y%' AND pwd = '123';






正序和倒序
SELECT * FROM emp ORDER BY empno AND ename DESC (多个正序);
SELECT * FROM emp ORDER BY empno ASC(倒序);




字段变小写
SELECT ename,LOWER(ename) xin FROM emp;(lower改变)
字段改大写
SELECT ename,UPPER(ename) xin FROM emp WHERE empno=7902;(upper改变)
连接连个字段
SELECT CONCAT(empno,ename) xin FROM emp;
SELECT empno||ename xin FROM emp;
求字段长度
SELECT LENGTH(empno) FROM emp;
把字段转换成大写
SELECT ename , SUBSTR(ename, 2, 1 ) FROM emp;
SELECT*FROM emp WHERE LOWER(SUBSTR(ename,LENGTH(ename)-1,2))='tb';
SELECT SUBSTR('kouyang', 1, 3) FROM DUAL;




round四舍五入指定小数点后几位
SELECT ROUND(3.1415,1) FROM DUAL;






字段:
avg字段 计算出平均值:SELECT avg(sal) FROM emp;


max字段最大值:SELECT max(sal) FROM emp;


min字段最小值:SELECT min(sal) FROM emp;


sum字段求和:SELECT sum(sal) FROM emp;


count字段查询结果在该字段的个数:SELECT count(sal) FROM emp;
大于平均值的:
SELECT * FROM emp WHERE sal > (SELECT avg(sal) FROM emp);