暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库基础

ItStar 2019-03-05
1033

持久化(persistence)把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,持久化的大多数时候是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。

 

目前互联网上常见的数据库管理软件有SybaseDB2OracleMySQLAccessVisual Foxpro(面向对象型)、MS SQL ServerInformixPostgreSQL(对象-关系型)这几种。

MySQL是一种开放源代码的关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008116号被Sun公司收购。而2009,SUN又被Oracle收购.目前 MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库(Facebook, Twitter, YouTube)。阿里提出去OEM,向ODM转向后,更多网站也开始选择MySQL

 

注:

1)表锁,即使操作一条记录也会锁住整个表,不适合高并发的操作;行锁,操作时只锁某一行,不对其他行影响,适合高并发。

2Myisam( 索引循序存取法(Index Sequential Access Mode))只缓存索引,不缓存真实数据;Innodb不仅缓存索引还要缓存真实数据,对内存要求较高,而且内存大小对性能有决定性的影响

3Innodb不支持全文索引,如果一定要用的话,最好使用sphinx等搜索引擎。myisam对中文支持的不是很好,

不过新版本的Innodb已经支持了

4)每个MyISAM在磁盘上存储成三个文件。第一个文件的名字以表的名字开始,扩展名指出文件类型。.frm文件存储表定义。数据文件的扩展名为.MYD (MYData)。索引文件的扩展名是.MYI (MYIndex)

InnoDB:所有的表都保存在同一个数据文件中,InnoDB表的大小只受限于操作系统文件的大小限制。


MySQL的数据类型


常用的数据类型有:

整型(xxxint

浮点型(floatdouble

定点数(decimal,numeric

字符串(char,varchar,xxxtext

日期时间类型(date,time,datetime,year

二进制数据(xxxBlob

 

SQL全称是:结构化查询语言(Structured Query Language)

SQL语言包含4个部分:

数据定义语言(Data Definition Language--DDL):如CREATE, DROP,ALTER等语句

数据操纵语言(Data Manipulation Language- -DML):INSERT, UPDATE, DELETE语句

数据查询语言(Data Retrieval Language --DRL):SELECT语句

事务控制语言(Transaction Control Language--TCL):如COMMIT, ROLLBACK等语句

说明:

mysql对于SQL语句不区分大小写,SQL语句关键字尽量大写(但是一开始因为不熟悉,可以先用小写辅助记忆)

值,除了数值型,字符型和日期时间类型使用单引号(’’

别名,尽量使用双引号(“”),而且不建议省略as

每个语句可以分为多行编写,最后使用分号(;)结尾即可

如果语句有语法错误,需要快速结束,可以\c,但是必须保证所有(),单引号,双引号是成对结束的

可以使用#单行注释

所有标点符号使用英文状态下的半角输入方式

命名规则:

数据库、表名不得超过30个字符,变量名限制为29

必须只能包含 AZ, az, 09, _63个字符

不能在对象名的字符间留空格

必须不能和用户定义的其他对象重名

必须保证你的字段没有和保留字、数据库系统或常用方法冲突

保持字段名和类型的一致性,在命名字段并为其指定数据类型的时候一定要保证一致性。假如数据类型在一个表里是整数,那在另一个表里可就别变成字符型了

DDL

DDL用于定义数据库的结构,比如创建、修改或删除数据库、表结构对象,包括如下SQL语句:

CREATE DATABASE:创建数据库

DROP DATABASE:删除数据库

CREATE TABLE:创建数据库表

ALTER TABLE:更改表结构、添加、删除、修改列长度

DROP TABLE:删除表

CREATE INDEX:在表上建立索引

DROP INDEX:删除索引

DML

数据操纵语言(DMLDML用于插入、修改、删除数据记录,包括如下SQL语句:

INSERT:添加数据到数据库中

UPDATE:修改数据库中的数据

DELETE:删除数据库中的数据

DCL

DCL用来控制数据库的访问,包括如下SQL语句:

GRANT:授予访问权限

REVOKE:撤销访问权限

COMMIT:提交事务处理

ROLLBACK:事务处理回退

SAVEPOINT:设置保存点

LOCK:对数据库的特定部分进行锁定

 


文章转载自ItStar,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论