第十四章-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 ...
随机推荐
- java使用Runtime.exec()运行windwos dos或linux shell命令
使用Runtime.exec()运行windwos dos或linux shell命令,按实际情况具体测试 实例代码: package com.bookoo.test.command; imp ...
- 前端标签--js--css大致思路
html标签语言在块级和内联标签的基础上进行页面的设计,设计的时候主要是注意标签块间的距离位置等信息,设计盒子的浮动,盒子的位置,盒子之间的联系. 在设计网页之前一定要判断好该设计多少个盒子,什么样的 ...
- php解析带有命名空间的xml
xml如果带有命名空间我们将如何解析,例如: <ns1:CreateBillResponse xmlns:ns1="http://neusoft.com" xmlns:xsd ...
- iOS对象(数组)转化为JSon字符串
- (void)seabc { NSArray *arry=[NSArray arrayWithObjects:@"0081",@"0082",@"0 ...
- Android 红色小圆球提示气泡 BadgeView
今天给大家分享两个实用有简单的一个小圆球提示气泡: BadgeView 参考地址: https://github.com/qstumn/BadgeView; 个人地址:http://git ...
- ThreadLocal的简单使用
package com.thread; public class ThreadLocalTest { public static void main(String[] args) { final Pe ...
- js实现网页中的"运行代码"功能
<!DOCTYPE html> <html> <head> <meta charset='utf8' /> <title>网页中的运行代码功 ...
- Hadoop实战-Flume之自定义Sink(十九)
import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import j ...
- 图床QAQ
- 【题解】 P1373 小a和uim之大逃离
题解 P1373 小a和uim之大逃离 传送门 一道dp好题 乍看此题,感觉要这样设计: \(dp(x)(y)(mod_{a})(mod_{uim})(0/1)\) , 但是我上午考试就MLE了,赶紧 ...