MySQL数据库的安装、创建库、创建表、创建测试数据及连接取数
安装MySQL数据库
- MySQL数据库简介
- 安装MySQL数据库
- 下载安装包
- 安装MySQL
- MySQL创建一个新的数据库,并在其中创建新的数据表,填充测试数据并查看
- `mysql>`模式下输入的每句sql语句都要以`;`结尾;若多行语句无`;`,则被默认为一条语句未输入完成;若多条语句无`;`,直到最后一条语句有`;`,则被认为是一条语句。
- 连接MySQL数据库
- Java项目连接数据库
- SpringMVC工程连接数据库
MySQL数据库简介
此处先给出MySQL官网?
安装MySQL数据库
下载安装包
安装MySQL
- 将下载的安装包
mysql-8.0.30-winx64.zip
解压后,将mysql的根目录——比如D:\mysql-8.0.30-winx64\bin
——配置到环境变量path中。 - 使用
PowerShell
进行安装,首先以管理员身份运行PowerShell
。在PowerShell
中先进入到MySQL的根目录的bin目录下,再执行mysqld --install
命令,如下图所示。
mysqld --initialize-insecure --user=mysql
net start mysql
,显示“MySQL服务正在启动 …” “MySQL服务已经启动成功。”,如下图所示。
- 使用指令
mysql -u root -p
登陆,这是因为安装完成、启动mysql后,要先使用root账户登陆数据库,如下图所示。安装完成后的root用户的初始密码是空——即Enter password:
处不需输入任何字符、直接回车即可,如下图所示。数据库登陆成功后,输入指令处的路径显示为mysql>
,如下图红框所示。
若需退出
mysql>
,直接输入exit
即可;若已进入->
,输入\q
即可,如下两图所示。
若需关闭MySQL,需以管理员身份启动命令行(否则输入关闭指令后会提示拒绝访问),在操作系统的任意路径下,命令输入net stop mysql
即可,如下图所示。
此处也给出未以管理员身份启动命令行时,启动数据的情形
MySQL创建一个新的数据库,并在其中创建新的数据表,填充测试数据并查看
- 首先,必须要在一个数据库里面工作,所以你必须创建一个数据库。利用
create database【数据库名称,比如test】;
,来出创建数据库注意,语句结尾必须要有;号,否则如下图第一行所示,提示SQL语法错误,进而创建失败。
- 如上所述,因为必须要在一个数据库里面工作,所以使用
use 【要切换到的数据库名称,比如test】 ;
来使用上一步创建好的数据库test,如下图所示,提示数据库切换成功Database changed
。
- 查看已创建的数据库,在
mysql>
下输入show databases;
,如下图所示。
此时,数据库安装目录下的data文件夹下的目录,如下所示。下图红框内的四个文件夹对应上方显示的五个数据库的四个,上方第一个数据库
information_schema
不知道在何处 = =。
- ①要将原语句
create table 【表名,比如此处的testTable1】 (id int,name varchar(100));
分为四行来依次输入,以;结尾表示一条语句结束,如下所示。注意第一行语句的create table testTable1(
结尾的(
不要遗漏!;当提示Query OK, 0 rows affected (0.10 sec)
表示创建成功。
②还可创建复杂的表,使用如下语句:
CREATE TABLE hogwarts_user (id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID',name varchar(20) DEFAULT NULL,age int(10) DEFAULT NULL COMMENT '年龄',primary key (id) USING BTREE)ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='霍格沃兹学生';
提示“Query OK”,创建成功,如下图所示。请注意,在创建新表之前,需先选好数据库,如下图红框所示。
有博客提到“注意创建表格过程中必须是英文输入法,中文和英文的逗号,括号和引号都必须是英文的。”,待确认。
5. ①向上一步创建的表testTable1
插入数据,insert into testTable1(id,name) values(0,'0');
。第一处testTable1(id,name)
要给出要插入的表名和要插入的单条数据涉及到的列名,第二处values(0,'0')
要针对第一处给出的【要插入数据涉及到的每个列名】的值。若插入成功,会提示Query OK
,如下图所示。
若要一条sql语句插入多条数据,可使用
insert into testTable1(id,name) values(0,'0'),(1,'1'),(2,'2');
②若向上一步创建复杂的表hogwarts_user
插入数据insert into hogwarts_user(name, age) values('霍格沃兹测试学院',1)
,通常不要手动设置id的值。因为在创建hogwarts_user表时,将id设置为了自增AUTO_INCREMENT
,所以一般不在插入新数据时设置id,交由数据库自增,防止自己设定的id与数据库自增的id冲突。若非要设置id,语法上可行。
在创建表
hogwarts_user
时,如果有设置某列名不能为空(NOT NULL)时,则向该表插入数据时该列的属性必须有值,否则会报错。
-
使用
select * from 【表名,比如此处的testTable1】;
查看刚才插入的那一条数据,如下图所示。
查看上一步②中创建的数据,如下图所示。
-
mysql>exit
退出数据库——即退出mysql命令行模式mysql>
,如下图所示。
-
若要关闭MySQL(需先退出数据库——即
mysql>
模式),在操作系统的任意路径下输入net stop mysql
即可,如下图所示。提示服务已成功停止
表示MySQL数据库已关闭。
mysql>
模式下输入的每句sql语句都要以;
结尾;若多行语句无;
,则被默认为一条语句未输入完成;若多条语句无;
,直到最后一条语句有;
,则被认为是一条语句。
如下图所示,因为第一个红框处前几句语句都没有;
分号,所以直到最后一句才被认为是sql语句结束,所以被当作前几行语句是一句sql语句,从而报错。