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>
mysql8.0
下载后
mysqld --initialize -insecure
mysqld install 名字
net start mysql(名字)
三、库和用户
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 | 默认值(缺省值) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律