[整理]MySQL数据库学习笔记.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

MySQL数据库学习笔记

关系数据库的查询语言SQL (Structured Query Language),是一种非常口语化、既易学又易懂的语法。此一语言几乎是每个资料库系统都必须提供的,用以表示关连式的操作,包含了资料的定义(DDL)以及资料的处理(DML)。SQL原来拼成SEQUEL,这语言的原型以“系统R“的名字在IBM 圣荷西实验室完成,经过IBM内部及其他的许多使用性及效率测试,其结果相当令人满意,并决定在系统R 的技术基础发展出来IBM 的产品。而且美国国家标准学会(ANSI)及国际标准化组织(ISO)在1987遵循一个几乎是以IBM SQL 为基础的标准关连式资料语言定义。

第一章、了解概念,并理解它

一、资料定义DDL(Data Definition Language)

资料定语言是指对资料的格式和形态下定义的语言,他是每个资料库要建立时候时首先要面对的,举凡资料分哪些表格关系、表格内的有什麽栏位主键、表格和表格之间互相参考的关系等等,都是在开始的时候所必须规划好的。

数据库

第二章MySQL数据库数据类型

第一节、数据类型

MySQL数据库目前支持以下几种

下列代码字母用于描述中:

M 指出最大的显示尺寸。最大的显示尺寸长度为255。

D 适用于浮点类型。指出跟随在十进制小数点后的数字数量。最大可能值为30,但不应大于M-2。

方括号("[" and "]") 指定可选的类型修饰部份。

1、数值型(包括整数与浮点数,浮点型支持科学表示法) 浮点类型:

numeric [nju:merik] decimal(5,2),数字位:5,小数位:2 numeric 等价于decimal 并且是作为字符串存储的.而不是作为二进制浮点数.

说明:

salary DECIMAL(3,2)

在这个例子中,3 (精度(precision)) 代表重要的十进制数字的数目,2 (数据范围(scale)) 代表在小数点后的数字位数。在这种情况下,因此,salary 列可以存储的值范围是从-99.99 到99.99。(实际上MySQL 在这个列中可以存储的数值可以一直到999.99,因为它没有存储正数的符号)。

整型:integer

类型占用字节从到

TINYINT 1 -128 127

SMALLINT 2 -32768 32767

MEDIUMINT 3 -8388608 8388607

INT 4 -2147483648 2147483647

BIGINT 8 -9223372036854775808 922337203685 4775807

2、字符串(字符)类型

3、日期和时间类型

4、Null类型不同于例如数字类型的0或字符串的

5、布尔类型TURE FALSE

标识符约定

标识符最大长度允许的字符

---------------

数据库64 一个目录名中允许的任何字符,除了/,\和. 表 64 一个目录名中允许的任何字符,除了/和.

列 64 所有的字符

索引 64 所有的字符

加名 255 所有的字符

定界符``,反引号ANSI SQL中双引号为定界符

注意:在MYSQL中,数据库和表对应操作系统下的目录与文件,因而,操作系统的敏感性决定数据库和表命名的大小敏感,所以在LINUX下数据库与表名的大小写敏感. 提示:USE ,HELP 是Mysql中为少数几个不需要终结符的语句之一.

用户变量表示为: @var_name;

set @x=99; 等同于@x := 99;

系统变量用两个@@表示,它分为2种,全局系统变量和会话系统变量.

下面详细说明各种类型

MySQL支持所有的ANSI/ISO SQL92数字类型.

1、数值型

一个整数可以在浮点语境中使用;它被解释为等值的浮点数;同样,一个浮点数可以被转化为整数,但损失精度,如100.1->100,100.5->101;

2.Mysql支持16进制数值,在数字的语境中,它们表现类似于一个整数(64位精度);如select 0xa+0;

在字符串的语境中,它们表现类似于一个二进制的字

符串,每一对16进制ASCII码被转为一个字符:

select 0x787868 ; =select x'787868';

select hex('xxh');

select 0xa+5;

select true,true,flase,FALSE;

其中浮点型用于域,表示方法解释一下,如:

FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]

如果UNSIGNED 被指定,负值是不允许的。M 是显示宽度,D 是小数位数。并且如果负号“-”也占一个宽度。

2、字符串类型

字符串是多个字符组成的一个字符序列,由单引号,或双引号字符包围,但在ANSI模式中运行时只能用单引号,也就是说在SQL SERVER数据库,使用应该使用单引号,保证兼容性应该使用单引号.

字符串类型有CHAR、VARCHAR、BLOB、TEXT、ENUM 和SET;

ENUM 是一个字符串对象,其值通常选自一个允许值列表中,该列表在表创建时的列规格说明中被明确地列举。

每个枚举值均有一个索引值:

在列说明中列表值所允许的成员值被从 1 开始编号。

空字符串错误值的索引值为0。这就意味着,你可以使用下面所示的SELECT 语句找出被赋于无效ENUM 值的记录行。

mysql> SELECT * FROM tbl_name WHERE

enum_col=0;

NULL 值的索引值为NULL。

总结:ENUM用于互相排斥的值,而SET列可以从一个值的列表中选择多个值。

常用技巧:

1.在命令提示符下:mysql -h -u root db_name

在串的环境中,可用十六进制常数来指定串值。其语法与前面描述的数值值相同,但是每对十六进制的数字都被看作ASCII 代码并转换为字符,其结果用于串。例如,0x616263作为串时为“a b c”。

在一个字符串中,如果某个序列具有特殊的含义,每个序列以反斜线符号(“\”)开头,称为转义字符。MySQL 识别下列转义字符:

\0 一个ASCII 0 (NUL) 字符。

\' 一个ASCII 39 单引号(“'”) 字符。

\" 一个ASCII 34 双引号(“"”) 字符。

\b 一个ASCII 8 退格符。

\n 一个ASCII 10 换行符。

\r 一个ASCII 13 回车符。

相关文档
最新文档