本人之前接触的关系型数据库主要是oracle和sqlserver,而对于mysql知之甚少,但查阅网上资料发现,mysql与oracle非常相似,所以学起来应该不会非常费劲,在总结的时候可能很多其它的把关注点放在它与oracle的不同之处。

一、简单介绍

MySQL是一个真正的多用户、多线程SQL数据库server。SQL(结构化查询语言)是世界上最流行的和标准化的数据库语言。MySQL是一个client/server结构的实现,

它由一个server守护程序mysqld和非常多不同的客户程序和库组成。

MySQL的普及并不局限于开放源码团队内。尽管它在个人计算机上执行(确实,MYSQL的开发一般在不昂贵的linux系统上进行),但它是可移植的,而且能够执行

在商用操作系统和一直到企业server的各种硬件上。此外,它的性能也足以和不论什么其它系统相匹敌,并且它还能够处理具有数百万级的大型数据库。

1.1 MYSQL优势:

1、速度。MySQL 执行速度非常快。开发人员声称MySQL 可能是眼下能得到的最快的数据库。

2、使用简单。MySQL 是一个高性能且相对简单的数据库系统,与一些更大系统的设置和管理相比,其复杂程度较低。

3、价格可免费。MySQL 对多数个人用户来说是免费的。

4、支持查询语言。MySQL 能够利用SQL(结构化查询语言),SQL 是一种全部现代数据库系统都选用的语言。也能够利用支持ODBC(开放式数据库连接)的应用程序,ODBC 是Microsoft 开发的一种数据库通信协议。

5、性能高。很多客户机可同一时候连接到server。多个客户机可同一时候使用多个数据库。可利用几个输入查询并查看结果的界面来交互式地訪问MySQL。

6、连接性和安全性优越。MySQL 是全然网络化的,其数据库可在因特网上的不论什么地方訪问,因此,能够和不论什么地方的不论什么人共享数据库。并且MySQL 还能进行訪问控制,能够控制哪些人不能看到您的数据。

7、可移植性强。。MySQL 可执行在各种版本号的UNIX 以及其它非UNIX 的系统(如Windows 和OS/2)上。

二、 关系型数据库管理系统(RDBMS)

一个关系型表有一组命名的属性(a t t r i b u t e )或列,以及一组元组(t u p l e )或行。有时列被称为域,行被称为记录,列和行的交集通常被叫做单元。列标示位置,有作用域或数据类型,比如字符或整数。行自己就是数据。

关系表必须符合某些特定条件

1、存储在单元中的数据必须是原子的。每一个单元仅仅能存贮一条数据,这也叫信息原则(Information Principle )。虽然在过去的数年中按某些违反这一条的方式已经建立了很多系统,但违反这一条将不能运用良好的设计原则。当一个单元包括多于一条的信息时,这叫做信息编码(information coding )。在这种情况下,是否採用违背理论的方案是一个设计的选择问题,虽然在多数情况下,结果证明这对数据的完整性是一不利的。

2、存储在列下的数据必须具有同样的数据类型

3、每行必须唯一

4、列没有顺序

5、行没有顺序

6、列名称唯一

关系模型两个完整性原则:实体完整性原则简洁地表明主键不能所有或部分地空缺或为空,引用完整性原则简洁地表明一个外键必须为空或者与它所引用的主键当前存在的值相一致。

2.1 SQL与非过程化程序设计语言

    SQL是一种典型的非过程化程序设计语言,这样的语言的特点是:仅仅指定哪些数据被操纵,至于对这些数据要运行哪些操作,以及这些操作是怎样运行的,则未被指定。

    与之相相应的是过程化程序设计语言,我们寻常熟悉的各种高级程序设计语言都属于这一范畴。这样的语言的特点是:一条语句的运行是与其前后的语句和控制结构(如条件语句、循环语句等)相关的。

SQL这样的语言被设计为不同意你依照某种特定的顺序来取出记录,由于这样做会减少SQL Sever取记录的效率。使用SQL,你仅仅能按查询条件来读取记录。

三、MYSQL数据处理

MySQL支持大量的列类型,它能够被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。

3.1 字符串值:

在字符串中不仅能够使用普通的字符,也可使用几个转义序列,它们用来表示特殊的字符。每一个转义序列以一个反斜杠(“\”)開始,指出后面的字符使用转义字符来解释,而不是普通字符。注意NUL 字节与NULL 值不同;NUL 为一个零值字节,而NULL 代表没有值。

引號在字符串中使用注意事项:

假设串是用同样的引號括起来的,那么在串中须要引號的地方反复写该引號就可以。

    假设串是用另外的引號括起来的,则不须要双写对应引號,直接在串中使用,该引號不被特殊对待。

    使用反斜杠,用转移序列的方式表示;这样的方法不去管用来将串括起的是单引號还是双引號。

3.1.1 MySQL字符串列类型

3.2 数字值:

MySQL 支持说明为整数(无小数部分)或浮点数(有小数部分)的值。

MySQL 支持科学表示法。科学表示法由整数或浮点数后跟“e”或“E”、一个符号(“+”或“-”,必须具有)和一个整数指数来表示。

3.2.1 MySQL数字列类型

3.2.2 十六进制数字:

MySQL支持十六进制值。以十六进制形式表示的整数由“0x”后跟一个或多个十六进制数字(”0”到“9”及“a”到“f”)组成。十六进制数字不区分大写和小写,但其前缀“0x”不能为“0X”。即0x0a 和0x0A 都是合法的,但0X0a 和0X0A 不是合法的。

在数字上下文,它们表现类似于一个整数(64位精度)。在字符串上下文,它们表现类似于一个二进制字符串,这里每一对十六进制数字被变换为一个字符。



     3.3 日期和时间列类型:

MySQL学习笔记之中的一个 MySQL入门的更多相关文章

  1. mysql学习笔记(七)—— MySQL内连接和外连接

        MySQL内连接(inner join on) MySQL的内连接使用inner join on,它的效果跟使用where是一样的,如果联结的是两个表,那么需要左右的条件或者说字段是需要完全匹 ...

  2. MySQL学习笔记:生成一个时间序列

    今天遇到一个需求是生成以下表格的数据,一整天24小时,每秒一行数据. 寻找颇旧,找到另外两个实现的例子,暂且学习一翻.另一个见另外一篇. DAY) AS DATE FROM ( ) AS tmp, ( ...

  3. MySQL学习笔记:从一个表update到另外一个表

    # ---- 测试数据 ---- # 表1 CREATE TABLE temp_x AS AS c_id, 1.11 AS c_amount FROM DUAL UNION ALL AS c_id, ...

  4. webpy学习笔记之中的一个

    这几天在学习webpy框架,之前学过一段时间,后来各种转移框架,导致没有学透彻,都是皮毛,各种打印hello world! 汗! 如今将webpy的学习过程和思路写下来,便于复习和总结. 资料主要是w ...

  5. MySQL学习笔记(六)—— MySQL自连接

    有的时候我们需要对同一表中的数据进行多次检索,这个时候我们可以使用之前学习过的子查询,先查询出需要的数据,再进行一次检索. 例如:一张products表,有产品id,供应商id(vend_id),产品 ...

  6. jquery-mobile 学习笔记之中的一个(基础属性)

    写在前面 本文是依据w3c 学习轨迹,自己研习过程中记录下的笔记,仅仅供自己学习轨迹记录之用,不喜勿喷. 0 引入库 引入相应的文件: <link rel="stylesheet&qu ...

  7. MYSQL学习笔记——数据库范式及MYSQL优化整体思路

    一.数据库范式                                                                               为了建立冗余较小.结构合理的 ...

  8. MySQL 学习笔记(一)MySQL 事务的ACID特性

    MySQL事务是什么,它就是一组数据库的操作,是访问数据库的程序单元,事务中可能包含一个或者多个 SQL 语句.这些SQL 语句要么都执行.要么都不执行.我们知道,在MySQL 中,有不同的存储引擎, ...

  9. hibernate学习笔记之中的一个(JDBC回想-ORM规范)

    JDBC回想-ORM规范 JDBC操作步骤 注冊数据库驱动 Class.forName("JDBCDriverClass") 数据库 驱动程序类 来源 Access sun.jdb ...

随机推荐

  1. C语言中给数组赋随机值

    srand和rand两个函数配合可以产生伪随机数序列.rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数.如果系统提供的种子没有变化,每次调用r ...

  2. Linux C++ 开发简介(包括Linux守护线程)

    阅读目录 简介 操作系统 编辑器 编译器 构建系统 调试 IDE 可执行程序.动态库.静态库 服务 Windows服务简介 创建Windows服务 注册Windows服务 管理Windows服务 Li ...

  3. 辛星和您一起手写CSS气泡

    上文中我公布了一篇手写导航条的博客,那么这一篇博客我将和大家一起手写气泡.那么什么是气泡呢?先给那些刚入门的童鞋一个截图,来更好的认识一下什么是气泡把: 这就是一个简单的气泡啦,那么它主要用来干什么呢 ...

  4. ios上禁止输入表情

    ios上禁止输入表情 + (BOOL)isContainsEmoji:(NSString *)string { __block BOOL isEomji = NO; [string enumerate ...

  5. iOS 编程之 使用 Xcode6配置.pch文件

    刚上手 Xcode6 的人,总会发现之前在 6 之前常常会在“利用名-Prefix.pch”这个文件中来配置我们全局要用到的头文件,但是 xcode6 没有了,人家说,这类东西有时候也会出现1些稀里糊 ...

  6. 刘德华夏日Fiesta演唱会上那个表演探戈舞的演员是谁啊?_百度知道

    刘德华夏日Fiesta演唱会上那个表演探戈舞的演员是谁啊?_百度知道     刘德华夏日Fiesta演唱会上那个表演探戈舞的演员是谁啊?    2008-05-28 00:04 topofhill | ...

  7. EEPlat PaaS VS Saleforce force.com

    综述 EEPlatPaaS和Saleforce的Force.com都是元数据驱动应用的解决方式.整体而言,Force.com提供了更上层的解决方式,屏蔽了SQL语句.数据库:EEPlat更加底层,有更 ...

  8. linux shell种类

    1.shell 种类 目前我们的 Linux (以 CentOS 5.x 为例) 有多少我们可以使用的 shells 呢? 你可以检查一下 /etc/shells 这个文件,至少就有底下这几个可以用的 ...

  9. Cookie例子

    马士兵老师的~~ cookie是服务器将信息保存在客户端的一个表示方式 名-值 服务器只能写入文档文件 每个浏览器都有唯一的标识号 且每个浏览器只允许访问与自身相关的cookie的内容 cookie分 ...

  10. thinkphp 设置跨域请求

    场景:我的本地网页服务器无法访问本地的接口服务器接口提示一下错误:大致意思是:是一个跨域请求我的没有访问该地址的权限(接口服务器采用的是PHP编写) XMLHttpRequest cannot loa ...