MySQL整理(一)
一、数据管理发展阶段
人工管理阶段→文件系统阶段→数据库系统阶段
二、数据库管理系统提供的功能
(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整理(一)的更多相关文章
- MYSQL整理的语法
MYSQL整理的语法 http://www.cnblogs.com/suoning/p/5744849.html
- .NetCore中EFCore for MySql整理(三)之Pomelo.EntityFrameworkCore.MySql
一.Pomelo.EntityFrameworkCore.MySql简介 Git源代码地址:https://github.com/PomeloFoundation/Pomelo.EntityFrame ...
- .NetCore中EFCore for MySql整理(二)
一.简介 EF Core for MySql的官方版本MySql.Data.EntityFrameworkCore 目前正是版已经可用当前版本v6.10,对于以前的预览版参考:http://www.c ...
- MySQL整理碎片
1 innodb引擎表 alter table TABLE_NAME engine='innodb'; 还有一种方法 optiize table TABLE_NAME; http://stackove ...
- .NetCore中EFCore for MySql整理
一.MySql官方提供了Ef Core对MySql的支持,但现在还处于预览版 Install-Package MySql.Data.EntityFrameworkCore -Pre Install-P ...
- 我的MySQL整理
MySql unique的实现原理简析 MYSQL操作 MySql数据类型(转) MySql数据类型 MySql和CSV MySql超新手入门(很好的Mysql学习教材) MySql加锁处理分析 My ...
- mysql整理
一.建表(创建一个简单的用户权限关系表) 1.user(用户表) CREATE TABLE `user` ( `username` ) NOT NULL, `password` ) DEFAULT N ...
- 补充:MySQL整理
1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL.首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root ...
- MySQL整理(三)
一.简单单表操作 (1)简单CRUD 插入查询结果 insert into table1(id,name,age) select id,name,age from table2 where id ...
- MySQL整理(二)
一.MySQL操作表的约束 MySQL提供了一系列机制来检查数据库表中的数据是否满足规定条件,以此来保证数据库表中数据的准确性和一致性,这种机制就是约束. (1)设置非空约束(NOT NULL),唯一 ...
随机推荐
- 数论 + 容斥 - HDU 1695 GCD
problem's Link mean 给定五个数a,b,c,d,k,从1~a中选一个数x,1~b中选一个数y,使得gcd(x,y)=k. 求满足条件的pair(x,y)数. analyse 由于b, ...
- Classification / Recognition
转载 https://handong1587.github.io/deep_learning/2015/10/09/recognition.html#facenet Classification / ...
- 使用AngularJS实现的前后端分离的数据交互过程
一. AngularJS简介 AngularJS是什么 AngularJS是一个开源Web应用程序框架.最初是由MISKO Hevery和Adam Abrons于2009年开发,现在是由谷歌维护. A ...
- Sublime Text 模版插件: SublimeTmpl
开发者的插件介绍页面:http://www.fantxi.com/blog/archives/sublime-template-engine-sublimetmpl/ 写了个sublime的模版插件, ...
- JQuery获取和设置select下拉框的值
获取Select : 获取select 选中的 text : $("#sid").find("option:selected").text(); 获取selec ...
- 常用的jQuery前端技巧收集
调试时巧用console.log(),这比用alert()方便多了. jquery易错点:元素拼接的时候,元素还未添加到DOM,就用该预添加元素操作. ajax动态获取的数据,还没有装载html元素, ...
- Margin外边距叠加
外边距(Margin)叠加 只有普通文档流中块级元素(块框)的垂直外边距才会发生外边距叠加.行内框.浮动框和绝对定位框之间的外边距不会叠加 两个相邻兄弟块框 父元素与子元素,并 父元素没有内边距或边框 ...
- 通过HttpWebRequest在后台对WebService进行调用
目录: 1 后台调用Webservice的业务需求 2 WebService支持的交互协议 3 如何配置WebService支持的协议 4 后台对WebService的调用 4.1 SOAP 1.1 ...
- 【javaScript基础】马上调用函数表达式
在javaScript中,每一个函数被调用时,都会创建一个新的运行上下文.由于在一个函数里面定义的变量和函数仅仅能在里面訪问.在外面是不行的.上下文提供了一种非常easy的方法来创建私有性. //ma ...
- 2、Android自己的下拉刷新SwipeRefreshLayout--样式2
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/ ...