第十四章-MySQL
1 安装
MySQL常见的版本
GA: 广泛使用的版本
RC: 最接近正式版本
Alpha和Bean: 内测版本和公测版本
有两种安装方式: 安装包和压缩包
1) 安装msi文件





2) 解压zip文件
解压之后, 添加bin目录到环境变量
进入bin目录下初始化配置
mysqld --initialize-insecure
安装windows启动服务
"c:\mysql-5.7.16-winx64\bin\mysqld" --install
启动服务
net start mysql
登录数据库
mysql -u root -p
2 数据库概念
数据库管理技术的发展阶段
人工管理
文件管理
数据库系统
数据库的分类
1 层次数据库和网状数据库
解决数据集中和共享问题
2 关系型数据库
解决数据库独立性和抽象级别
明确数据的存储结构
将数据结构归结为简单的二元关系
3 非关系型数据库
NoSQL(Not Only SQL)泛指非关系型数据库, 主要应用于超大规模和高并发
键值存储数据库
主要使用哈希表, 通过键来添加查询删除数据
典型产品: Redis
列存储数据库
将数据存储在列族中, 通常被用来存储分布式海量数据
典型产品: HBase
面向文档数据库
基于版本化的文档, 可以通过json存储数据, 可以被认为是键值存储数据库的升级版
典型产品: MongoDB, CouchDB
图形数据库
循序数据以图的形式存储, 实体被称为定点, 实体之间的关系是边
典型产品: Neo4J
DB数据库
DBMS数据库管理系统
DBS数据库系统
DDL数据库定义语言
DML数据操作语言
DCL数据控制语言
3 数据库与数据库对象
系统数据的作用

数据库: 存储数据库对象的容器
数据库对象: 存储, 管理, 和使用数据的不同结构形式, 主要包含表, 视图, 存储过程, 函数, 触发器和事件等
(1) 查看数据库
show databases;
(2) 使用数据库
use 数据库名字;
(3) 创建数据库
create database 数据库名 default charset "utf8";
设置好数据库的字符集
注意数据库的名称设置
长度要小于128位
(4) 删除数据库
drop database 数据库名;
4 引擎和数据类型
引擎决定了表在计算机的存储方式, 如何存储和索引数据, 是否支持事务
查看数据库支持的引擎
show engines;
一般地:
执行命令要有命令结束, 一般用; /g 和/G
前两个效果相同, /G可以帮助更美观的显示
数据类型
(1) 整数类型
tinyint, smallint, mediumint, int/intrger, bigint
对应的存储字节数是1, 2, 3, 4, 8
(2) 浮点数类型
float, double
存储字节是4, 8
(3) 日期时间
date, datetime, timestamp, time, year

(4) 字符串类型
char(个数), varchar(个数)
varchar是变长的字符串
tinytext, text, mediumtext, longtext
5 表的操作
表的操作包含创建表, 查看表, 删除表, 修改表, 这些操作是最基本的表管理操作
表示指代一个二维关系的数据
行: 记录
列: 字段
索引: 根据指定的数据库表建立起来的顺序, 提供了快速访问数据的途径, 并且可以监督表中的数据, 使其索引指向的列中的数据不重复
触发器: 根据用户自定义的事物命令的集合, 当一个表的赎金更改时就会执行这组命令
用于确保数据的完整性和安全性
(1) 创建表
create table 表名{
属性名 数据类型 约束条件;
...
}
(2) 查看表的结构
desc 表名;
(3) 查看表的详细定义
show create table 表名;
(4) 删除表
drop table 表名;
(5) 修改表名
alter table 原表名 rename 新表名;
(6) 给表增加一列
alter table 表名 add 列名 列类型 (first/ after 属性名);
默认是在最后一列加上
如果需要在最开始加上 可以加上关键字first
或者指定再某一属性之后 after 某属性名
(7) 删除一列
alter table 表名 drop 属性名;
(8) 修改列的属性
alter table 表名 modify 属性名 数据类型;
修改列的名字
alter table 表名 change 原来属性名 新的属性名 数据类型;
(9) 表的约束
NOT NULL : 非空
default 默认值 : 设置默认值
unique : 唯一值, 不允许重复的值
primary key : 主键
auto_increment : 自动增长
foreign key : 外键
constraint 外键约束名 foreign key (列名) references 表名(列名)
参考链接
第十四章-MySQL的更多相关文章
- 《Linux命令行与shell脚本编程大全》 第十四章 学习笔记
第十四章:呈现数据 理解输入与输出 标准文件描述符 文件描述符 缩写 描述 0 STDIN 标准输入 1 STDOUT 标准输出 2 STDERR 标准错误 1.STDIN 代表标准输入.对于终端界面 ...
- perl 第十四章 Perl5的包和模块
第十四章 Perl5的包和模块 by flamephoenix 一.require函数 1.require函数和子程序库 2.用require指定Perl版本二.包 1.包的定义 2.在包间切 ...
- Gradle 1.12 翻译——第十四章. 教程 - 杂七杂八
有关其它已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或訪问:http://gradledoc.qiniudn.com ...
- C和指针 (pointers on C)——第十四章:预处理器
第十四章 预处理器 我跳过了先进的指针主题的章节. 太多的技巧,太学科不适合今天的我.但我真的读,读懂.假设谁读了私下能够交流一下.有的小技巧还是非常有意思. 预处理器这一章的内容.大家肯定都用过.什 ...
- CSS3秘笈复习:十三章&十四章&十五章&十六章&十七章
第十三章 1.在使用浮动时,源代码的顺序非常重要.浮动元素的HTML必须处在要包围它的元素的HTML之前. 2.清楚浮动: (1).在外围div的底部添加一个清除元素:clear属性可以防止元素包围浮 ...
- JavaScript高级程序设计:第十四章
第十四章 一.表单的基础知识 在HTML中,表单是由<form>元素来表示的,而在javascript中,表单对应的则是HTMLFormElement类型.HTMLFormElement继 ...
- 第四章 MySQL高级查询(二)
第四章 MySQL高级查询(二) 一.EXISTS子查询 在执行create 或drop语句之前,可以使用exists语句判断该数据库对像是否存在,返回值是true或false.除此之外,exists ...
- C#语言和SQL Server第十三 十四章笔记
十三章 使用ADO.NET访问数据库 十四章使用ADO.NET查询和操作数据库 十三章: ...
- Gradle 1.12用户指南翻译——第二十四章. Groovy 插件
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...
随机推荐
- centos7 安装rocketmq(quick start)
Quick Start This quick start guide is a detailed instruction of setting up RocketMQ messaging system ...
- 字符串(string)操作的相关方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Pentaho Work with Big Data(五)—— 格式化原始web日志
本演示样例说明怎样使用Pentaho MapReduce把原始web日志解析成格式化的记录. 一.向HDFS导入演示样例数据文件 将weblogs_rebuild.txt文件放到HDFS的/user/ ...
- jquery判断复选框是否被选中
$("#isUse").click(function(){ if($(this).is(':checked')){ $(this).attr('checked','checked' ...
- 四、Silverlight中使用MVVM(四)——演练
本来打算用MVVM实现CRUD操作的,这方面例子网上资源还挺多的,毕竟CRUD算是基本功了,因为最近已经开始学习Cailburn框架了,感觉时间 挺紧的,这篇就实现其中的更新操作吧. 功能很明确,当我 ...
- 数据挖掘、目标检测中的cnn和cn---卷积网络和卷积神经网络
content 概述 文字识别系统LeNet-5 简化的LeNet-5系统 卷积神经网络的实现问题 深度神经网路已经在语音识别,图像识别等领域取得前所未有的成功.本人在多年之前也曾接触过神经网络.本系 ...
- 输出 pdf
jar 包 :core-renderer.jar iText-2.0.8.jar iTextAsian.jar 方式1: import java.io.FileNotFoundException ...
- C#连接Oracle的问题(不安装客户端)
win7环境,本地没有安装oracle或者客户端,现在需要程序里连接远程oracle DB: 如果采用System.Data.OracleClient肯定是不行的,这个要安装客户端的: 所以就尝试O ...
- java设计模式之迭代器模式
一.迭代器模式简介 迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示. 迭代器模式让我们能游走于聚合内的每一个元素,而又不暴露内部的表示.把游走的任务放在迭代器上,而不是 ...
- Python中高层次的数据结构,动态类型和动态绑定,使得它非常适合于快速应用开发,也适合于作为胶水语言连接已有的软件部件。
https://github.com/jhao104/proxy_pool/blob/master/doc/introduce.md 3.代码模块 Python中高层次的数据结构,动态类型和动态绑定, ...
