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中可以省略

常用数据类型

数值

  • int

  • double(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

  • 是否具有条件

最后更新于