mysql数据库 Window下安装
关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据 库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数 据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库 表格。关系数据库的定义造成元数据的一张表格或造成表格、列、范围和约束的正式描述。每个表格 (有时被称为一个关系)包含用列表示的一个或更多的数据种类。 每行包含一个唯一的数据实体,这些 数据是被列定义的种类。当创造一个关系数据库的时候,你能定义数据列的可能值的范围和可能应用于 那个数据值的进一步约束。而SQL语言是标准用户和应用程序到关系数据库的接口。其优势是容易扩 充,且在最初的数据库创造之后,一个新的数据种类能被添加而不需要修改所有的现有应用软件。主流 的关系数据库有oracle、db2、sqlserver、sybase、mysql等。
一、概述
MySQL是一个[关系型数据库管理系统],由瑞典MySQL AB 公司开发,2008年被sun公司收购, 2009sun又被oracle收购,所以属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之 一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数 据库管理系统) 应用软件之一。 MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放 在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政 策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般 中小型网站的开发都选择 MySQL 作为网站数据库。
二、Mysql下载与安装
1.mysql 版本
4.1
5.0 5.1 5.2 …5.6
5.7 …8.0.x
5.5 5.6 5.7 8.0
下载地址:https://downloads.mysql.com/archives/community/
2.安装与启动
打开命令控制台,用管理员打开命令控制台。
进入MySQL的bin目录
执行mysqld install安装导入
net start mysql启动服务
E:\sql5\bin>mysql -uroot //开启服务
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.6.51 MySQL Community Server (GPL)
Copyright (c) 2000, 2021, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.6.51 |
+-----------+
1 row in set (0.00 sec)
mysql> exit
Bye
E:\sql5\bin>
服务停止
E:\sql5\bin>net stop mysql
MySQL 服务正在停止.
MySQL 服务已成功停止。
移除MySQL
E:\sql5\bin>mysqld remove
Service successfully removed.
E:\sql5\bin>
三、库和用户
1.创建用户
用户只能在指定ip地址上登录mysql:create user用户名@IP地址 identified by“密码';
用户可以在任意ip地址上登录:create user用户名@%' identified by密码;
查询所有用户
2.设置权限
语法:grant权限1..,权限n on数据库.* to 用户名QIP地址,其中权限1、2、n可以直接用all关键字代替。权限例如:create,alter,drop,insert,update,delete,select。
1grant a1l on *.* to 用户名;
3.查看用户权限
查看指定用户的权限:Show grants for 用户名@p地址;
show grants for zn;
四、常用数据类型
日期和时间数据类型
MYSQL数据类型 | 含义 |
date | 3字节,日期,格式:2012-02-19 |
time | 3字节,日期,格式:08:42:45 |
datetime | 8字节,日期,格式:2015-08-19 08:42:22 |
timestamp | 4字节,自动存储记录修改的时间 |
year | 1字节,年份 |
整型
MYSQL数据类型 | 含义 |
tinyint | 1字节,范围(-128-127) |
smalint | 2字节,范围(-32768-32767) |
mediumint | 3字节,范围(-8388608-8388607) |
int | 4字节,范围(-2147483648-214783647) |
bigint | 8字节,范围(+-9.22*10的18次方) |
上面定义的都是有符号的,当然了,也可以加上unsigned关键字,定义成无符号的类型,那么对应
的取值范围就要翻翻了,比如:
tinyint unsigned的取值范围为0-255。
浮点型
MySQL数据类型 | 含义 |
float(m, d) | 4字节,单精度浮点型,m总个数, d小数位 |
double(m, d) | 8字节,双精度浮点型,m总个数,d小数位 |
decimal(m, d) | 我在MySQL中建立了一个表,有一列为float(5, 3);做了以下试验: |
1.插入123.45678,最后查询得到的结果为99.999;
2.插入123.456,最后查询结果为99.999;
3.插入12.34567,最后查询结果为12.346;
所以,在使用浮点型的时候,还是要注意陷阱的,要以插入数据库中的实际结果为准。
字符串数据类型
MySQL数据类型 | 含义 |
char(n) | 固定长度,最多255个字符 |
varchar(n) | 可变长度,最多65535个字符 |
tinytext | 可变长度,最多255个字符 |
text | 可变长度,最多65535个字符 |
mediumtext | 可变长度,最多2的24次方-1个字符 |
longtext | 可变长度,最多2的32次方-1个字符 |
1.char (n)和varchar (n) 中括号中n代表字符的个数,并不代表字节个数,所以当使用了中文的时
候(UTF8)意味着可以插入m个中文,但是实际会占用m*3个字节。
2.同时char和yarchar最大的区别就在于char不管实际value都会占用n个字符的空间,而yarchar只会
占用实际字符应该占用的空间+1,并且实际空间+1<=n。
3.超过char和yarchar的n设置后,字符串会被截断。
4.char的上限为255字节, varchar的 上限65535字节, text的 上限为65535。
5.char在存储的时候会截断尾部的空格, varchar和text不会。
6.varchar会使用1-3个字节来存储长度,text不会。
其它类型emun和set
查看当前数据库中所有表:SHOW TABLES:
查看表结构:DESC表:
删除表:DROP table表名:
修改表有5个操作,但前缀都是一样的:ALTER TABLE 表名.. (不重要)
●修改表之添加列:ALTER TABLE表名add (列名列类型,....列名列类型;
ALTER TABLE student add (address VARCHAR(20) ,hobby VARCHAR(20))
●修改表之修改列类型:ALTER TABLE 表名MODIFY 列名列的新类型;
ALTER TABLE student MODIFY hobby int;
●修改表之列名称列类型-起修改:ALTER TABLE表名CHANGE 原列名新列名列名类型9
ALTER TABLE student CHANGE hobby newHobby VARCHAR(15);
●修改表之删除列:ALTER TABLE表名DROP列名
ALTER TABLE student drop newHobby;
●修改表之修改表名:ALTER TABLE 表名RENAME TO新表名
ALTER TABLE student RENAME to stu;
四、约束
数据库迁移(版本要一致)
从别人哪儿拿数据到自己的MySQL
mysqldump -h192.168.21.23 -uzcx -p --databases t1 | mysql
将自己的数据库给被人
mysqldump --databses t2 mysql | -h192.168.23 -uaa -p
约束类型
约束名称 | 描述 |
NOT NULL | 非空约束 |
UNIQUE | 唯一约束,取值不允重复 |
PRIMARY KEY | 主键约束(主关键字),自带非空,唯一,索引 |
FORMRIGN KEY | 外键约束(外键关键字) |
DEFAULT | 默认值(缺省值) |
mysql数据库 Window下安装的更多相关文章
- Linux系统环境下MySQL数据库源代码的安装
Linux系统环境下MySQL数据库源代码的安装 基本环境:CentOS Linux release 7.8.2003 (Core).MySQL5.6 一. 安装环境准备 若要在Linux系 ...
- mysql数据库卸载和安装
背景: 由于之前一个项目中用的数据库版本是免安装的mysql5.5.36,但是后来经过第三方测试公司测试出该数据库存在很多漏洞需要升级数据库才能解决.所以觉得将数据库更换为mysql-5.7.21-w ...
- MySQL数据库服务器(YUM)安装
1. 概述2. 部署过程2.1 虚拟机console的NFS服务端配置2.2 虚拟机node15的NFS客户端配置2.3 虚拟机安装MySQL环境2.4 配置MySQL3. 错误及解决3.1 启动失败 ...
- Window 下安装
Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择, ...
- Window 下安装 Redis
Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. 一.Window 下安装 redis https://github.com/MicrosoftArchive/r ...
- MySQL数据库离线包安装与注册
本文主要介绍了MySQL数据库的离线安装和将MySQL服务注册为Windows应用服务的主要步骤. 1.下在安装程序包 MySQL Community Server 5.6.15 官方下载地址http ...
- window下安装 node ,并搭建 vue 项目
uname -a 命令查看到我的Linux系统位数是64位(备注:x86_64表示64位系统, i686 i386表示32位系统) window下安装node 1.在官网上选择对应的位数的msi安装 ...
- window下安装cross-env解决NODE_ENV ts-node 不是内部或外部命令,也不是可运行的程序 或批处理文件 问题
window下安装cross-env解决NODE_ENV ts-node 不是内部或外部命令,也不是可运行的程序 或批处理文件 问题 在git bash上启动无法进行调试,采用cross-env后可以 ...
- window下安装redis报错: creating server tcp listening socket 127.0.0.1:6379: bind No error
window下安装redis报错: creating server tcp listening socket 127.0.0.1:6379: bind No error 解决: 如果没有配置环境,在安 ...
随机推荐
- 小程序canvas绘制纯色圆角区域 setdata数组某一项
小程序canvas绘制纯色圆角区域: //方法: roundRectPath:function(ctx, x, y, w, h, r) { ctx.beginPath(); ctx.moveTo(x ...
- SGU140. Integer Sequences
https://codeforces.com/problemsets/acmsguru/problem/99999/140 n元同余方程的求解 对于任意二元我们可以替换成kgcd(a,b),不断迭代下 ...
- springboot打包第三方jar包是失败
在项目开发时有时我们需要引入一些在maven仓库中不存在的包 一.配置maven环境变量 在path环境变量中添加 %maven_home%\bin (window10环境下) cmd界面输入 mvn ...
- 【笔记】golang中使用protocol buffers的底层库直接解码二进制数据
背景 一个简单的代理程序,发现单核QPS达到2万/s左右就上不去了,40%的CPU消耗在pb的decode/encode上面. 于是我想,对于特定的场景,直接从[]byte中取出字段,而不用完全的把整 ...
- JSF/SpringMVC/Struts2区别与比较
转自SpringMVC与Struts2区别与比较总结 1.Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文, ...
- vue学习4-class和sytle绑定
#### Class绑定: 1. 通过数组的方式来实现: 2. 通过对象的方式来实现: 通过对象: 通过数组,通过数组是把多个style样式对象添加进去:
- /etc/passwd详解
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/n ...
- 「数据结构」Link-Cut Tree(LCT)
#1.0 简述 #1.1 动态树问题 维护一个森林,支持删除某条边,加入某条边,并保证加边.删边之后仍然是森林.我们需要维护这个森林的一些信息. 一般的操作有两点连通性,两点路径权值和等等. #1.2 ...
- numpy常用函数记录
np.square() 函数返回一个新数组,该数组的元素值为源数组元素的平方. 源阵列保持不变. 示例: import numpy as np a = np.array([[1, 2, 3], [4, ...
- ApacheCN 编程/大数据/数据科学/人工智能学习资源 2019.12
公告 我们的所有非技术内容和活动,从现在开始会使用 iBooker 这个名字. "开源互助联盟"已终止,我们对此表示抱歉和遗憾.除非特地邀请,我们不再推广他人的任何项目. 公众号自 ...