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 解决: 如果没有配置环境,在安 ...
随机推荐
- web.xml文件配置模板
直接贴完整代码,当然,spring的核心控制器依赖包需要通过mean提前配置 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.// ...
- Go语言命名规范
一.变量命名规范 变量命名一般采用驼峰式,当遇到特有名词(缩写或简称,如DNS)的时候,特有名词根据是否私有全部大写或小写.例子: var apiClient var URLString 二.常量命名 ...
- HDOJ1573X问题
https://acm.hdu.edu.cn/showproblem.php?pid=1573 n组线性同余方程求解,最后求出多少解.而最终的解的周期为最小公倍数,范围内的,需要这样算.如果最小超过, ...
- [流畅的Python]第一章数据模型
这些来自同一家出版社的动物书 像是计算机科学界一盏盏指路明灯 余幼时 初试读 学浅 以为之晦涩难懂 像是老学究咬文嚼字 现在看起来还有些有趣 其实理工男大多都很有趣 这一章介绍了 怎么样去视线一个带有 ...
- vue.config.js报错cannot set property "preserveWhitespace" of undefined
vue.config.js报错cannot set property "preserveWhitespace" of undefined 最近在项目中配置webpack,由于vue ...
- 【get√】golang新手理解了一点点gin框架的中间件
1.通过use()来使用多个中间件 router := gin.New() router.Use( middleware1, middleware2) 2.中间件的典型实现 func Logger() ...
- 【初体验】macos下android ndk交叉编译hello world,并拷贝到android手机上执行
1.机器上以前安装了java 1.8(貌似android ndk不需要java) 2. 下载android ndk,版本是android-ndk-r14b (比较奇怪,我下载了最新的android-n ...
- vs python2.7 bug
微软vs里面小细节的bug真他妈的多
- Node内部架构图
1.Node内部架构图 先来看一下Node节点的内部实现架构图. 首先最上层入口是Restful风格和javaTcp风格的API入口,RestFul请求映射到处理器RestControl.JavaAp ...
- Redisson 实现分布式锁原理分析
Redisson 实现分布式锁原理分析 写在前面 在了解分布式锁具体实现方案之前,我们应该先思考一下使用分布式锁必须要考虑的一些问题. 互斥性:在任意时刻,只能有一个进程持有锁. 防死锁:即使有 ...