MySQL整理(一)

时间:2022-05-13 19:15:39

  一、数据管理发展阶段

    人工管理阶段→文件系统阶段→数据库系统阶段

    二、数据库管理系统提供的功能

     (1)数据定义语言DDL:提供数据定义语言定义数据库及各种对象,定义数据的完整性约束和保密限制等约束。

  (2)数据操作语言DML:提供数据操作语言操作数据,主要分两类:检索(查询)和更新(插入,删除,更新)

  (3)数据控制语言DCL:提供数据控制语言控制数据库的完整性限制,数据安全性控制等。

    三、为什么使用MySQL

    MySQL是由原MySQL AB公司自主研发的,目前已被Sun公司收购,是目前IT行业最流行的开源数据库管理系统,同时它也是一个支持多线程高并发多用户的关系型数据库管理系统。

    (1)功能性:满足通用商业需求

    (2)易用性:相对于大型的商业数据库管理系统,MYSQL对于普通用户来说,它的易用性高,安装包小,创建数据库等操作简单。

    (3)性能:在权威的第三方评测机构多次测试比较各种数据库TPCC值(TPCC-MySQL是Percona公司研发的基准测试工具)的过程中,MySQL一直都有非常优异的表现,而且在其他所有商用的通用数据库管理系统中,仅仅有Oracle数据库能够与其一较高下

    (4)可靠性:排在全球前10位的大型网站里面,都有部分业务是运行在MySQL数据库环境上的,如yahoo、google等。

      总体来说,MySQL数据库在发展过程中一直追求三项原则:简单、高效、可靠。

    四、MySQL相关命令

DOS窗口连接MySQL

mysql –h 127.0.0.1 –u root -p

显示所有数据库

show databases;

创建数据库

create database kk;

使用指定数据库

use kk;

删除数据库

drop database kk;

显示存储引擎列表

show engines;

查看默认存储引擎

show variables like‘storage_engine%’

创建表

create table 表名(

id int,

name varchar(20),

age float

);

查看表定义

describe 表名

修改表名

alter table 老表名 rename 新表名

在表的最后一个位置增加字段

alter table 表名 add 字段名 字段类型定义

在表的第一个位置增加字段

alter table 表名 add 字段名 字段类型定义 first

在表的指定字段后增加字段

alter table 表名 add 字段名 字段类型定义 after 指定字段

删除字段

alter table表名 drop 字段名

修改字段定义

alter table 表名 modify 字段名 字段类型定义

修改字段名称

alter table 表名 change 旧字段名 新字段名 旧字段数据类型定义

修改字段名称及数据类型

alter table 表名 change 旧字段名 新字段名 新字段数据类型定义

修改字段位置

alter table 表名 modify 字段名 数据类型 first (将字段调整到第一个位置)

Alter table 表名 modify 字段名1 数据类型 after 字段名2

    五、MySQL存储引擎和数据类型

    1.1、MySQL引入了存储引擎的概念,由于存储引擎是以插件的形式被引入,所以需要根据实际应用和领域来选择相应的存储引擎;如果想创建表,需要了解数据类型,而存储引擎决定了表中可以存储的数据类型。

      其中一种引擎的参数如下:

      Engine: InnoDB

      Support: DEFAULT

      Comment: Supports transactions, row-level locking, and foreign keys

      Transactions: YES

      XA: YES

      Savepoints: YES

      (1)     Engine:存储引擎名称

      (2)     Support:表示MySQL是否支持该存储引擎,DEFAULT表示默认使用

      (3)     Comment:表示关于存储引擎的简要评论

      (4)     Transactions:表示存储引擎是否支持事务

      (5)     XA:表示该存储引擎所支持的分布式存储是否符合XA规范

      (6)     Savepoints:表示该存储过程是否支持事务处理中的保存点

     1.2、MySQL存储引擎支持的数据类型有整数类型,浮点数类型,定点数类型和位类型,日期和时间类型,字符串类型。

     (1)存储小数数据,可选择float或double,需精确到小数点后10位以上的,需要选择double类型。

     (2)定点数类型(参与运算的数的小数点位置固定不变)DEC(M,D)与DECIMAL(M,D)精确到比double还高,有效取值范围由M(数据总长度)和D(小数点后长度)

     (3)年月日的使用一般是DATE类型,年月日时分秒是DATETIME类型。若经常插入或更新的时间为系统当前时间,一般使用TIMESTAMP类型。时分秒为Time类型。年份用YEAR。

     (4)存储少量字符串可选用CHAR和VARCHAR类型,如果需要经常发生变化,选VARCHAR类型。

     (5)BLOB和TEXT文本类型十分相似,不同的是前者可以存储二进制数据(图片,音频文件),而后者只能存储字符数据。

       (6)BINARY和VARBINARY   与  CHAR和VARCHAR字符串类型十分相似,不同的是前者可以存储二进制数据(图片,音频文件),而后者只能存储字符数据。