DataBase基础知识

来源:互联网 发布:淘宝白底图片制作 编辑:程序博客网 时间:2024/06/09 18:51
DataBase

一、什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,

每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制所保存的数据。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。

所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

二、常用的数据库

1.MySQL数据库

     MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。

     MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

2.oracle数据库

 Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

3.sqlserver数据库

美国Microsoft公司推出的一种关系型数据库系统。SQLServer是一个可扩展的、高性能的、为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有机结合,提供了基于事务的企业级信息管理系统方案。

4.DB2数据库

DB2是IBM一种分布式数据库解决方案。说简单点:DB2就是IBM开发的一种大型关系型数据库平台.它支持多用户或应用程序在同一条SQL 语句中查询不同database甚至不同DBMS中的数据。目前,DB2有如下一些版本:(比如DB2 for Unix,DB2 for Windows,DB2 for AS/400,DB2 for OS/390等)。


MySql


一、数据库安装后启动


   鼠标放在菜单栏,右键,任务管理器,找到对应的数据库


二、常用命令


1.全局管理权限对应解释:


  FILE: 在MySQL服务器上读写文件。


  PROCESS: 显示或杀死属于其它用户的服务线程。

  RELOAD: 重载访问控制表,刷新日志等。

  SHUTDOWN: 关闭MySQL服务。


2. 数据库/数据表/数据列权限:

 
ALTER: 修改已存在的数据表(例如增加/删除列)和索引。

  CREATE: 建立新的数据库或数据表。

  DELETE: 删除表的记录。

  DROP: 删除数据表或数据库。

  INDEX: 建立或删除索引。

  INSERT: 增加表的记录。

  SELECT: 显示/搜索表的记录。

  UPDATE: 修改表中已存在的记录.

3.特别的权限:

 
ALL: 允许做任何事(和root一样)。

  USAGE: 只允许登录–其它什么也不允许做.

4.使用SHOW语句找出在服务器上当前存在什么数据库:


   SHOW DATABASES;


5.创建一个数据库MYSQLDATA


   CREATE DATABASE MYSQLDATA;


6.选择你所创建的数据库


   USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)

4:查看现在的数据库中存在什么表

   SHOW TABLES;

5:创建一个数据库表


   CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));


6:显示表的结构:

   DESCRIBE MYTABLE;

7:往表中加入记录

   insert into MYTABLE values (”hyq”,”M”);


8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)

   LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;


9:导入.sql文件命令(例如D:/mysql.sql)


  use database;
   source d:/mysql.sql;

10:删除表

   drop TABLE MYTABLE;

11:清空表

   delete from MYTABLE;

12:更新表中数据

   update MYTABLE set sex=”f” where name=’hyq’;


三、实例(创建一个myuser表(userId,username,sex,password,flag))

myuser表,如图;



1.or and


and(和)两个都满足or(或)满足一个就行SELECT * from myuser WHERE username like '张%' and password ='aaaa';SELECT * from myuser WHERE username like '张%' or password ='aaaa';


2.like      not like


likenot like
SELECT * from myuser WHERE username LIKE "张%";SELECT * from myuser WHERE username NOT LIKE "张%";


3.is null       is not null


is nullis not nullSELECT * FROM myuser where password is null;SELECT * FROM myuser where password is not null;


4.asc   desc   order by   
asc升序(默认为升序),desc降序  两个一起,只执行前面一个排序
order by排序字段可以用来查询字段的别名,先查后排序  
例子:



两者相同两者相同(默认为升序)SELECT * FROM emp WHERE 1=1 ORDER BY sal,deptno desc;SELECT * FROM emp WHERE 1=1 ORDER BY sal asc,deptno desc;

注意:如果将sal第二个数950改为800之后,执行SELECT * FROM emp WHERE 1=1 ORDER BY sal asc,deptno desc;
后面的排序,是在前面相同的情况下,执行。


5.DISTINCT关键字:
用distinct关键字来消除结果集中的重复信息,只显示一行
      注意:是查询字段的重复,而不是表中行的重复
语法:select distinct 列名(查询内容),列名 from 表名
当distinct用来修饰多个字段的时候,指的是需要消除后面所有字段的组合重复结果,只保留一行



四、常用函数

1.lower(字段或字符串)把字段转为小写
例如:SELECT ename,LOWER(ename) FROM emp;

2.upper(字段或字符串)把字段转为大写
例如:SELECT ename,UPPER(ename) FROM emp;

3.concat(字段1或字符串1,字段2或字符串2)将两个字段连在一起
例如:SELECT CONCAT(ename,sal) FROM emp;

4.length(字段或字符串)字段长度
例如:SELECT LENGTH(empno) FROM emp;

5.substr(字段或字符串,start,length)字段从start开始,length截取的长度
例子:SELECT ename,SUBSTR(ename,1,2) FROM emp;
  SELECT SUBSTR("kongtong",2,4);

五、分组函数:计算的结果是一个查询的,不是某一行。
1.avg(字段)计算出查询结果中该字段的平均值
例子:查询出所有超过平均工资的员工
   SELECT ename FROM emp WHERE sal >(SELECT avg(sal) FROM emp);

2.min(字段)计算出查询结果中该字段的最小值
例子:SELECT MIN(sal) from emp;

3.max(字段)计算出查询结果中该字段的最大值
例子:SELECT MAX(sal) from emp;

4.sum(字段)计算出查询结果中该字段的和;
例子:SELECT SUM(sal) from emp;

5.count(字段)计算出查询结果中该字段的个数
例子:SELECT count(sal) from emp;

原创粉丝点击