10.26-MySQL基础
数据库
数据库介绍
1. 数据库定义
通俗:存放数据的仓库
简单:电子化的文件柜
定义:数据库(DateBase 简称DB)是一个软件产品,按照数据结构来组织、储存和管理数据的,建立在计算机设备上的仓库
2. 数据库特点
数据共享
数据一致性和可维护性
安全性
完整性控制
并发控制
数据恢复
3. 主流数据库产品
关系型数据库
MySql:一个小型的关系型数据库管理系统
特点:体积小、速度快、总体拥有成本低、开放源代码
Oracle:甲骨文的数据库产品,它是第一个商品化的数据库管理系统
DB2:IBM公司的关系型数据库管理系统,有很多版本,运行在掌上产品到大型机等等不同的终端机器上。
Sybase:美国Sybase公司的关系型数据库管理系统,较早采用客户端\服务器结构数据库厂商,运行在Unix或Windows NT平台上
Sql server:微软产品,运行在WindowsNT平台上,支持客户端/服务器结构的数据库,采用标准SQL语言。
Access:微软发布的关系型数据库管理系统,它强调把数据库引擎的图形用户界面和软件开发工具结合
非关系型数据库
Redis
SQL语言
关系型数据库
描述两个元素之间的关联或对应关系,使用关系模型把数据组织到二维表中
关系:一对一、一对多、多对多
表设计
遵循三大范式
数据表
表是一个二维结构,由行和列组成
横向为行(Row),也叫记录
纵向为列(Column),也叫字段
一个关系型数据库由多个数据表组成,数据表是关系型数据库的基本储存结构
SQL定义
结构化查询语言:Structured Query Language
作用:专门用于与数据库进行通讯的语言;用于存取、查询、更新与管理数据(增删改查)
关系型数据库均支持SQL语言,但可能存在细微差距
SQL划分
数据定义语言
Data Definition Language
简称DDF
负责数据库对象(table)的定义,主要强调数据结构相关
常用语句
create创建数据库对象(创建表结构)alter修改表结构drop删除表结构(彻底删除)truncate清空表数据,保留表结构
数据操作语言
Data Manipulation Language
DML
主要用于实现对表中数据进行增加、修改、删除操作,主要强调数据相关
常用语句
insert增加数据update更新数据delete删除数据
事务处理语言
Transaction Processing Language
TPL
主要结合DML使用,用于确认/取消操作
常用语句
commit确认提交rollback回滚取消savepoint保存点
数据查询语言
Data Query Language
DQL
主要用于实现数据查询操作
常用语句
select查询操作
数据控制语言
Data Control Language
DCL
主要用于权限的授予与回收
常用语句
creat user创建用户grant授予权限revoke回收权限
总结
数据库(DB)->关系型数据库(MySQL)->二维表(table)->SQL语言->SQL划分
SQL划分
DDL结构->DML数据->DQL查询
->TPL事务->DCL权限
MySQL数据库介绍
MySql是最流行的关系型数据库管理软件之一,开发的首选数据库
特点:支持多线程处理、支持大型数据库、为多种编程语言提供API、多种数据库链接途径
show databases; 查看数据库
dorp database 库名; 删除指定的库
create datebase 库名 default character set utf-8;新建库并指定编码集
desc 表名; 查看表结构
show columns from 表名;
select now from dual();获取系统时间
select now();同上
dual表示的是一个特殊的测试表,在MySQL中可以省略
常用数据类型
数值
intdouble(m,n)其中,m表示总位数,n表示小数点位数
字符串
必须加引号 单引号/双引号
char(n)定长字符串n代表字符个数varchar(n)变长字符串
表结构操作
创建表结构
语法
注意: 表名不可重复!
最后一个字段后面没有逗号
例子
修改表结构
删除表结构
练习
创建员工表 emp_li
字段名:
员工号 empno
员工姓名 ename
员工职位 position
员工薪水 salary
员工奖金 bonus
入职日期 hiredate
领导的员工号 leader
部门号 deptno
表数据操作
增加数据
语法
注意
由于创建数据库时编码为UTF-8,而中文系统的默认编码为GBK,这会造成编码不一致导致报错。
可以使用下面的命令修正
show variables like 'char%';set names gbk;//当前会话有效
更新数据
语法
总结
insert
两种写法
字符串必须加引号
update
语法
是否带有条件
delete
是否具有条件
最后更新于