数据库-MySQL入门
什么是数据库?
一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合
数据库管理系统(简称DBMS):是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能
分类:关系数据库和非关系数据库
区别:关系型和非关系型数据库的主要差异是数据存储的方式。关系型数据天然就是表格式的,因此存储在数据表的行和列中。
数据表可以彼此关联协作存储,也很容易提取数据。而非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起。
非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。
关系数据库:MySQL、PostgreSQL、Microsoft Access、Microsoft SQL Server等等
非关系数据库:NoSQL、MongoDB、CouchDB
MySQL知识简介
1、为什么使用MySQL(优势)
黄金搭档:开源免费、稳定,优良,轻量级,关系型数据库,跨平台(支持系统比较多),应用广泛
2、MySQL的架构
C\S结构,链接到服务器上 注:C\S 表示客户端\服务端 B\S 表示浏览器\服务端
两者区别:B/S最大优势为客户端免维护,适用于用户群庞大,或客户需求经长发生变化的情况。
C/S功能强大,可以减轻服务器端压力,如果用户的需求特别复杂,用C/S。
图书馆的模式来存储数据
3、程序员对数据库的操作
- 对你的项目进行表的设计
- 使用SQL语句
a) 对数据库如何建立链接
b) 如何对数据库的操作
c) 其他的方式都可以用工具来完成
4、MySQL的安装
5、目录结构
- Bin目录 : 启动程序
- Data目录 : 数据库服务下的所有的库
- My.ini : MySQL的配置文件
6、了解数据库的SQL语句操作
对于数据库服务中的数据库管理,必须使用客户机程序,成功连接以后再使用必要的操作指令对其进行操作,
这种数据库操作指令通常就称之为SQL(结构化查询语言)。
SQL语言集数据查询、数据操做、数据定义和数据控制功能于一体,充分体现了关系数据语言的特点和优点。
特点:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式(自含式和嵌入式)
案例
1、首先要连接到数据库服务器 Mysql -h localhosr(127.0.0.1) -u root -p
-h后面加用户的ip地址,127.0.0.1和localhost和不写表示本地
-u后面加用户名:一般是root
-p后面加密码
小提示:(1)每一条结束的SQL语句都要以分号结束
(2)MySQL在window上不区分大小写、在linux上区分大小写之分
(3)\c查看数据库当前状态
(4)Show variables 查看数据库配置文件中的所有的变量
2、查看数据库 show databases;
3、创建数据库 create database 库名;
4、进入数据库 use 库名;
5、创建表 create table 表名(字段名1 数据类型 【属性】 【索引】,字段名2 数据类型 【属性】 【索引】)
数据类型:数值型
字符串型
时间型
空值(null)
【属性】:可写可不写;null(为空)、not null(不为空)、unsigned(无符号)、zreofill(填充零)、auto_increment(自增一)、default(默认值)
【索引】:可写可不写;一般是主键索引(primary key)
6、查看表结构 desc 表名;
7、往创建好的表插入内容 insert into 表名 values();
插入指定字段数据内容 insert into 表名(指定字段名) values(插入内容);
8、查看表的数据内容 select * from 表名; *代表查看所有列,可以查看指定的列
查看所有
查看指定
9、查看创建表的信息 show create table 表名;
10、删除表的数据内容 delete from 表名 where 条件
《----------------------结束-----------------------------》
数据表类型及存储位置
Mysql与大多数数据库不同,mysql有一个存储引擎的概念,针对不同的存储需求,可以选择最优的存储引擎,通常我们把这种存储引擎也叫作数据表类型
存储引擎:常用:myisam(默认)、innodb
区别:myisam 锁定表级 成熟、稳定、易于管理,属于表级锁 用来优化高并发 空间占用量小,读写速度快
innodb 锁定行级 事务处理的提交回滚、奔溃、恢复能力的事务安全 空间占用量大,读写速度慢