MySQL软件安装及数据库基础
文章目录
MySQL安装(windows版)
下载链接:https://dev.mysql.com/downloads/mysql/
下载第一个~
-
创建my.ini配置文件
建立一个记事本文档,之后保存文件名为my.ini,配置的文档内容为:
[mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] # 设置3306端口 port = 3306 # 设置mysql的安装目录 basedir=C:\\web\\mysql-8.0.11 # 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错 # datadir=C:\\web\\sqldata # 允许最大连接数 max_connections=20 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB
注意:要把basedir的地址换成自己MySQL的安装目录。
-
启动MySQL数据库:
以管理员身份打开cmd命令行,切换目录——我放在了E盘,则在终端输入E:,切换到E盘;
接下来转换到MySQL安装目录的bin文件夹下,例如:
cd C:\web\mysql-8.0.11\bin
初始化数据库:
扫描二维码关注公众号,回复: 6163840 查看本文章mysqld --initialize --console
执行完成后,会输出 root 用户的初始默认密码,如:
... 2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ ...
APWCY5ws&hjQ 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。
输入以下安装命令:
mysqld install
启动输入以下命令即可:
net start mysql
-
登录MySQL
mysql -u root -p
按回车确认, 如果安装正确且 MySQL 正在运行, 会得到以下响应:
Enter password:
若密码存在, 输入密码登录, 不存在则直接按回车登录。登录成功后你将会看到 Welecome to the MySQL monitor… 的提示语。
然后命令提示符会一直以 mysq> 加一个闪烁的光标等待命令的输入, 输入 exit 或 quit 退出登录。
注意:密码的输入很可能是错误的方式,如果一种密码多次书写不正确,可以尝试删除安装目录下生成的data文件夹,然后重新初始化生成新的密码,再次输入。
-
修改密码:在上边成功登录MySQL之后,输入 SET PASSWORD=‘新的密码’;
-
配置环境变量:右键‘此电脑’—>‘属性’—>‘高级系统设置’—>‘环境变量’,在‘系统变量’的‘Path’路径中添加‘D:\SOFTWARE\MySQL\bin’(选择你的bin路径),然后保存。这样以后就可以直接从命令行工具启动MySQL了。
Navicat for MySQL的连接
MySQL的图形用户界面,更为简单的创建、组织、访问并共用信息。
解压缩文件,复制key。打开文件夹中的navicat.e。用户名随意,输入key,然后连接数据库。
安装之后,点击连接,输入连接名与密码,点击“连接测试”显示连接成功即可。
在这里首次连接之后报错1251,解决方法如下:、
在cmd中输入红框命令:
数据库基础知识(SQL必知必会)
数据库的定义
就本书(SQL角度),数据库是一个以某种有组织的方式存储的数据集合。把数据库想象为一个文件柜,这个文件柜是一个存放数据的物理位置,不过数据是什么,也不管数据是如何组织的。
注意:人们常用数据库来代表他们使用的数据库软件,这是不正确的。确切地说,数据库软件应称为数据库管理系统(DBMS)。数据库通过DBMS创建和操纵的容器,具体它是什么,形式如何,各种数据库不一样。
表
在往文件柜里当资料时,并不是随便放入,而是在文件柜中创建文件,然后将相关的资料放入特定的文件中。在数据库中,这被称为表(table)——某种特定类型数据的结构化清单。
注意:存储在表中的数据是同一种类型的数据或清单,不可以将顾客的清单与订单的清单存储在同一个数据库表中,否则以后的检索和访问会很困难。应创建两个表。
数据库中的每个表都有一个名字来标识自己,这个名字是唯一的。
模式——表的一些特性定义了数据在表中如何存储,包含存储什么样的数据,数据如何分解,各部分信息如何命名等信息。模式可以用来描述数据库中特定的表,也可以用来描述整个数据库。
列和数据类型
列(column)表中的一个字段。所有表都是由一个或多个列组成的。
数据库中每个列都有相应的数据类型。数据类型(datatype)定义了列可以存储哪些数据种类。
注意:数据类型兼容——数据类型及其名称是 SQL不兼容的一个主要原因。虽然大多数基本数据类型得到了一致的支持,但许多高级的数据类型却没有。更糟的是,偶然会有相同的数据类型在不同的DBMS中具有不同的名称。对此用户毫无办法,重要的是在创建表结构时要记住这些差异。
行
行(row)表中的一个记录。
你可能听到用户在提到行时称其为数据库记录(record)。这两个术语多半是可以交替使用的,但从技术上说,行才是正确的术语。
主键
表中每一行都应该有一列(或几列)可以唯一标识自己。顾客表可以使用顾客编号,而订单表可以使用订单 ID。
表中的任何列都可以作为主键,只要满足以下条件:
- 任意两行都不具有相同的主键值
- 每一行都必须具有一个主键值(主键值不允许NULL)
- 主键列中的值不允许修改或更新
- 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)
通常定义表中的一列为主键,也可以多列。
MySQL数据库管理系统
数据库
关系型数据库管理系统,将数据保存在不同的表中。
数据表
数据库表是一系列二维数组的集合,用来代表和存储数据对象之间的关系。
视图
数据库视图是一个数据库子集,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据集值得形式存在,行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
从数据库系统内部来看,一个视图是由SELECT语句组成的查询定义的虚拟表,是由一张或多张表中的数据组成的。从数据库系统外部来看,视图就如同一张表一样,对表能够进行的一般操作都可以应用于视图,例如查询,插入,修改,删除操作等。
当对通过视图看到的数据进行修改时,相应的基本表的数据也要发生变化,同时,若基本表的数据发生变化,则这种变化也可以自动地反映到视图中。
视图作用
简单性:可以简化用户对数据的理解,也可以简化他们的操作。那些被经常使用的查询可以被定义为视图,从而使得用户不必为以后的操作每次指定全部的条件。
安全性:通过视图用户只能查询和修改他们所能见到的数据。但不能授权到数据库特定行和特定的列上。通过视图,用户可以被限制在数据的不同子集上。
存储过程
存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调用的一种数据库对象。
存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需要时)来调用执行。
存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。