一、数据管理发展阶段

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

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

     (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字符串类型十分相似,不同的是前者可以存储二进制数据(图片,音频文件),而后者只能存储字符数据。

MySQL整理(一)的更多相关文章

  1. MYSQL整理的语法

    MYSQL整理的语法 http://www.cnblogs.com/suoning/p/5744849.html

  2. .NetCore中EFCore for MySql整理(三)之Pomelo.EntityFrameworkCore.MySql

    一.Pomelo.EntityFrameworkCore.MySql简介 Git源代码地址:https://github.com/PomeloFoundation/Pomelo.EntityFrame ...

  3. .NetCore中EFCore for MySql整理(二)

    一.简介 EF Core for MySql的官方版本MySql.Data.EntityFrameworkCore 目前正是版已经可用当前版本v6.10,对于以前的预览版参考:http://www.c ...

  4. MySQL整理碎片

    1 innodb引擎表 alter table TABLE_NAME engine='innodb'; 还有一种方法 optiize table TABLE_NAME; http://stackove ...

  5. .NetCore中EFCore for MySql整理

    一.MySql官方提供了Ef Core对MySql的支持,但现在还处于预览版 Install-Package MySql.Data.EntityFrameworkCore -Pre Install-P ...

  6. 我的MySQL整理

    MySql unique的实现原理简析 MYSQL操作 MySql数据类型(转) MySql数据类型 MySql和CSV MySql超新手入门(很好的Mysql学习教材) MySql加锁处理分析 My ...

  7. mysql整理

    一.建表(创建一个简单的用户权限关系表) 1.user(用户表) CREATE TABLE `user` ( `username` ) NOT NULL, `password` ) DEFAULT N ...

  8. 补充:MySQL整理

    1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...

  9. MySQL整理(三)

     一.简单单表操作   (1)简单CRUD 插入查询结果 insert into table1(id,name,age) select id,name,age from table2 where id ...

  10. MySQL整理(二)

    一.MySQL操作表的约束 MySQL提供了一系列机制来检查数据库表中的数据是否满足规定条件,以此来保证数据库表中数据的准确性和一致性,这种机制就是约束. (1)设置非空约束(NOT NULL),唯一 ...

随机推荐

  1. IOS 中微信 网页授权报 key[也就是code]失效 解决办法

    枪魂微信平台ios手机点击返回 网页授权失败,报key失效.已经解决,原因是授权key只能使用一次,再次使用就会失效. 解决办法:第一次从菜单中进行授权时,用session记录key和open_id. ...

  2. C++ 匿名对象的生命周期

    //匿名对象的生命周期 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; class Poin ...

  3. 关于 Apache 的 25 个初中级面试题

    关于 Apache 的 25 个初中级面试题 出自:http://blog.jobbole.com/60471/

  4. Your Progress As A Programmer Is All Up To You

    Feb 3, 2014 I read a comment on a post on Hacker News where a young programmer said they didn't want ...

  5. 【LDA】nlp

    http://pythonhosted.org/lda/getting_started.html http://radimrehurek.com/gensim/

  6. freemarker0

    assign  用于为该模板页面 创建或替换一个顶层变量 或创建或替换多个顶层变量 列子如下 <#assign name=value [in namespacehash]>,指定一个名为n ...

  7. Android popupwindow 演示样例程序一

    经过多番測试实践,实现了popupwindow 弹出在指定控件的下方.代码上有凝视.有须要注意的地方.popupwindow 有自已的布局,里面控件的监听实现都有.接下来看代码实现. 项目资源下载:点 ...

  8. 应用开发之Asp.net

    本章简言 上一章中笔者讲到关于Linq和EF的用法.并以hibernate来进行讲解.那么本章笔者来讲一下C#的Asp.Net.即是在B/S模式下开发.现在企业大部分的业务都是面向B/S模式的.所以对 ...

  9. sed使用

    sed命令 一.替换标记 s/pattern/replacement/flags 默认情况下只会替换每行的首次出现的内容,如果要替换其他位置需要使用flags 1.不使用flag [root@bogo ...

  10. Docker修改时区

    简介 docker容器打日志时间滞后8小时 方法 启动时修改时区 Docker修改默认时区 已启动的容器修改时区 进入容器docker exec -i -t [CONTAINNER] /bin/bas ...