MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
Mysql是开源的,所以你不需要支付额外的费用。
Mysql支持大型的数据库。可以处理拥有上千万条记录的大型数据库。
MySQL使用标准的SQL数据语言形式。
Mysql可以允许于多个系统上,并且支持多种语言。这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
Mysql对PHP有很好的支持,PHP是目前最流行的Web开发语言。
MySQL支持大型数据库,支持5000万条记录的数据仓库,32位系统表文件最大可支持4GB,64位系统支持最大的表文件为8TB。
Mysql是可以定制的,采用了GPL协议,你可以修改源码来开发自己的Mysql系统。

MySQL 为关系型数据库(Relational Database Management System), 这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:

Mysql的基本知识
表头(header): 每一列的名称;
列(row): 具有相同数据类型的数据的集合;
行(col): 每一行用来描述某个人/物的具体信息;
值(value): 行的具体信息, 每个值必须与该列的数据类型相同;
键(key): 表中用来识别某个特定的人/物的方法, 键的值在当前列中具有唯一性。

MySQL用户设置
如果你需要添加MySQL用户,你只需要在mysql数据库中的user表添加新用户即可。
以下为添加用户的的实例,用户名为ly,密码为123456,并授权用户可进行SELECT, INSERT 和 UPDATE操作权限:
   // 使用mysql数据库
 use mysql;
 
  // 添加用户
   2. insert into user(host, user, password, select_priv, insert_priv, update_priv) values('localhost', 'ly', PASSWORD('123456'), 'Y',  'Y',  'Y');
 
   // 重新载入授权表
   3. flush privileges;
 
   // 查询
   4. select host, user, password from user where user = 'ly'; 
 
   在添加用户时,请注意使用MySQL提供的 PASSWORD() 函数来对密码进行加密。
   注意:在添加后需要执行 FLUSH PRIVILEGES 语句。 这个命令执行后会重新载入授权表。
   如果你不使用该命令,你就无法使用新创建的用户来连接mysql服务器,除非你重启mysql服务器。
   你可以在创建用户时,为用户指定权限,在对应的权限列中,在插入语句中设置为 'Y' 即可,用户权限列表如下:
Select_priv
Insert_priv
Update_priv
Delete_priv
Create_priv
Drop_priv
Reload_priv
Shutdown_priv
Process_priv
File_priv
Grant_priv
References_priv
Index_priv
Alter_priv

管理MySql的命令
use 数据库名
show database   //显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库
show tables  //显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。

MySQL数据库类型
整形:

Mysql的基本知识

浮点型:

Mysql的基本知识

设一个字段定义为float(5,3),如果插入一个数123.45678,实际数据库里存的是123.457,但总个数还以实际为准,即6位。

定点数:

浮点型在数据库中存放的是近似值,而定点类型在数据库中存放的是精确值。
decimal(m,d) 参数m<65 是总个数,d<30且 d<m 是小数位

字符串:

Mysql的基本知识

char和varchar:
1.char(n) 若存入字符数小于n,则以空格补于其后,查询之时再将空格去掉。所以char类型存储的字符串末尾不能有空格,varchar不限于此。
2.char(n) 固定长度,char(4)不管是存入几个字符,都将占用4个字节,varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),所以varchar(4),存入3个字符将占用4个字节。
3.char类型的字符串检索速度要比varchar类型的快。
 
varchar和text:
1.varchar可指定n,text不能指定,内部存储varchar是存入的实际字符数+1个字节(n<=255)或2个字节(n>255),text是实际字符数+2个字节。
2.text类型不能有默认值。
3.varchar可直接创建索引,text创建索引要指定前多少个字符。varchar查询速度快于text,在都创建索引的情况下,text的索引似乎不起作用

二进制数据:

1.BLOB和text存储方式不同,TEXT以文本方式存储,英文存储区分大小写,而_Blob是以二进制方式存储,不分大小写。
2.BLOB存储的数据只能整体读出。
3.TEXT可以指定字符集,BLOB不用指定字符集。

日期时间类型:

Mysql的基本知识

若定义一个字段为timestamp,这个字段里的时间数据会随其他字段修改的时候自动刷新,所以这个数据类型的字段可以存放这条记录最后被修改的时间。

数据类型的属性:

Mysql的基本知识

相关文章: