SQL基础
数据库相关概念
一、数据库相关定义★★★
- 数据:描述事物的符号记录称为数据。特点:数据和关于数据的解释不可分。
- 数据库:长期存储在计算机内、有组织、可共享的⼤量的数据的集合。数据库中的数据按照⼀定的数据模型组织、描述和存储,具有较⼩的冗余度、较⾼的数据独⽴性和易扩展性,并可为各种⽤户共享。特点:永久存储、有组织、可共享。
- 数据库管理系统(DBMS):位于⽤户与操作系统之间的⼀层数据管理软件。主要功能:数据定义功能(DDL);数据组织、存储和管理;数据操纵功能(DML);数据库的事务管理和运⾏管理;数据库的建⽴和维护功能;其他功能。
二、数据库的常见概念 ★★★
1、DB:数据库,存储数据的容器
2、DBMS:数据库管理系统,又称为数据库软件或数据库产品,用于创建或管理DB
3、SQL:结构化查询语言,用于和数据库通信的语言,不是某个数据库软件特有的,而是几乎所有的主流数据库软件通用的语言
名词概念★★★
- 数据库(database): 保存有组织的数据库。
- 表(table) : 特定类型的数据结果化清单。
存储在表中的数据是一种类型的数据或者一个清单的数据
- 模式(schema) 关于数据库和表的布局及特性
- 列(colomn) 表中的一个字段,所以表的不由一个或者多个列组成。
理解列最后的办法,是想象成一个网络,网络中每一列存储着一个特定信息。
- 数据类型(datatype) 所容许的数据类型,每个类别都有相应的数据类型,用来限制该列中允许的类型
- 行(row):表中的数据是按行存储的,把表想象成网络,垂直的列,水平为行。
- 主键(primary key): 表中每一行都应该有可以唯一标识自己的列,一列中唯一能够识别表中的每一行的值。在设计表是应该总是设计带有主键,设置为主键瞒着的条件为:
- 任意两行都带有相同的值
- 每个行都必须带有主键值
- 主键列中的值不允许修改更新
- 主键值不能重用。
SQL的分类★
- DML(Data Manipulation Language) 数据操作语言,用来操作数据库中表里的数据;常用语句:INSERT、 UPDATE、 DELETE
- DCL(Data Control Language) 数据控制语言,用来操作访问权限和安全级别; 常用语句:GRANT、DENY
- DQL(Data Query Language) 数据查询语言,用来查询数据 常用语句:SELECT
数据库的三个层次★★★
- 物理数据层
- 概念数据层
- 逻辑数据曾
云数据库和大数据★
云数据库
云数据库是运行在云计算平台中的数据库,例如Amazon EC2. GoGrid、Salesforce和Rackspace等都是商业云数据库。云数据库使企业能够使用更少的硬件与维 护经费来创建简单规模的数据库,仅仅需要支付数据存储和传输的费用。
什么是大数据技术,它是如何定义的?
1)大数据是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产
2)麦肯锡全球研究所给出的定义是:
一种规模大到在获取、存储、管理、分析方面大大超出了传统数据库软件工具能力范围的数据集合,具有海量的数据规模、快速的数据流转、多样的数据类型和价值密度低四大特征。
三、数据库存储数据的特点
1、数据存放到表中,然后表再放到库中
2、一个库中可以有多张表,每张表具有唯一的表名用来标识自己
3、表中有一个或多个列,列又称为“字段”,相当于java中“属性”
4、表中的每一行数据,相当于java中“对象”
四、数据库模型★★★
数据库模型描述了数据与数据之间的关系,数据的语义,数据一致型约束等信息的集合。
由以下三部分组成:
概念模型:按照用户的观点来对数据和信息建模,主要应用于数据库的设计
逻辑模型:主要分为关系数据库、层次数据库和网状数据库,它是按照计算机系统的观点对数据建模,主要用于对数据库的实现
物理模型:描述在系统内部的存储和存取方法,是面向计算机系统的
常见数 据模型
常见有三种,最常使用的多是关系模型,即mysql对应的数据库模型。
层次模型
用树状结构表示实体模型及实体间联系的数据类型。
- 每棵树有且仅有一个无双亲节点,称为根。
- 树中除根外所有节点有且仅有一个双亲。
网状模型
用有向图结构表示实体模型及实体间联系的数据模型。
- 开发困难
- 数据独立性差
关系模型
以二维表来描述数据,每个表中有多个字段列和记录行,每个字段列有固定的属性。
该结构简单、清晰、具有很高的数据独立性。
关系型数据库系统(DBS)模型有四层结构
- 数据库管理系统(DBMS):管理系统运行 (DateBase Management System)
- 数据库(DB):数据存储的管理者 (小管理,受DBMS管理)
- 数据表(Table):数据关系管理者
- 数据字段(Field):实际数据存储者 (依赖于数据表)
五、常见的数据库管理系统
关系型数据库产品
- 大型 :Oracle、DB2
- 中型 : MySQL 、SqlServer
- 小型 : Sybase、Access
MySQL介绍
一、MySQL的背景
前身属于瑞典的一家公司,MySQL AB
08年被sun公司收购
09年sun被oracle收购
二、MySQL的优点
1、开源、免费、成本低
2、性能高、移植性也好
3、体积小,便于安装
三、MySQL的安装
属于c/s架构的软件,一般来讲安装服务端
企业版
社区版
5.5
5.6
5.7
8.0
四、MySQL用户有关命令
进入
mysql -u usename -p password -P 默认3306
mysql -S /tmp/mysql.sock -uroot -h192.168.56.1 -P3306 -p1234567 指定sock登录
\h 获取帮助
\q 退出 or quit
修改MySQL密码
$ mysql -u root
mysql> USE mysql;
mysql> UPDATE user SET authentication_string=PASSWORD("NEWPASSWORD") WHERE User='root';
创建用户
mysql> CREATE USER 'test1'@'localhost' identified by '1234567';
Query OK, 0 rows affected (0.00 sec)
查询用户
mysql> SELECT USER FROM mysql.user; 查询所有用户
mysql> SHOW GRANTS For [email protected]'localhost'; 查询具体某个用户
删除用户
mysql> DROP USER 'test1'@'localhost';
Query OK, 0 rows affected (0.01 sec)
GRANT语句授权用户登录
mysql> GRANT ALL ON *.* TO 'test1'@'192.168.56.1' IDENTIFIED BY '1234567';
Query OK, 0 rows affected, 1 warning (0.01 sec)
- 限定IP地址 192.168.56.1登录操作
*.*第一个*表示所有数据库,第二个表示所有表- 最后是远程密码
具体指定用户可用的语句,限制test1只能用SELECT语句。
mysql> GRANT SELECT ON *.* TO 'test1'@'localhost' identified BY '1234567';
Query OK, 0 rows affected, 1 warning (0.00 sec)
mysql> flush privileges; 刷新权限
Query OK, 0 rows affected (0.00 sec)
查询是否授权成功
mysql> SELECT * FROM USER WHERE HOST='192.168.56.1'\G;

浙公网安备 33010602011771号