首页 > 数据库 >2.安装mysql教程

2.安装mysql教程

时间:2023-03-08 19:13:19浏览次数:62  
标签:11 salary 教程 int utf8 age mysql 安装

day1MySQL

1.安装MySQL

MySQL,本质上就是一个软件。
推荐用 5.7.31版本。

1.1 下载,安装5.7.31比较稳定

https://downloads.mysql.com/archives/community/

1.2 配置mysql

安装到英文路径
在根目录下,创建my.ini文件。

[mysqld]
#端口
port=3306
#根目录
basedir=D:\\SoftWare\\mysql-5.7.31-winx64
#数据库文件存放位置
datadir=D:\\SoftWare\\mysql-5.7.31-winx64\\data
#设置中文编码
#此处暂时没找到好的代码,总报错所以就直接在创建数据库的时候,给数据库设定UTF8

1.3 初始化

  • 打开终端 & 以管理员的权限去运行

  • 输入初始化的命令

    "D:\SoftWare\mysql-5.7.24-winx64\bin\mysqld.exe"  --initialize-insecure
    

至此,MySQL的安装已完成。

2.启动MySQL服务

启动MySQL一般有两种方式:

  • 临时启动(不建议)

    >>> "C:\Program Files\mysql-5.7.31-winx64\bin\mysqld.exe"
    
  • 制作成Windows服务,服务来进行关闭和开启。

    • 制作服务,下面的命令一定要用管理员权限去打开cmd

      "C:\Program Files\mysql-5.7.31-winx64\bin\mysqld.exe" --install mysql57
      
      >>> net start mysql57
      >>> net stop mysql57
      
    • 启动和关闭服务

>>>"C:\Program Files\mysql-5.7.31-winx64\bin\mysql.exe" -h 127.0.0.1 -P 3306 -u root -p 
>>>"C:\Program Files\mysql-5.7.31-winx64\bin\mysql.exe" -u root -p 

如果你将 C:\Program Files\mysql-5.7.31-winx64\bin\添加到了系统环境变量。

>>> mysql -u root -p

3.mysql命令

3.1 设置密码

set password = password('root123');

3.2 查看已有的文件夹(数据库)

show databases;

3.3 退出(关闭连接)

exit;

汇总命令:

C:\Users\Administrator>mysql -u root -p
mysql> set password = password('root123');
mysql> show databases;
mysql> exit;
C:\Users\Administrator>mysql -u root -p
输入密码
mysql>exit;

3.4 数据库管理(文件夹)

  • 查看已有的数据库(文件夹)

    show databases;
    
  • 创建数据库(文件夹)

    create database 数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    
    create database gx_day14 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    
  • 删除数据库(文件夹)

    drop database gx_day14;
    
  • 进入数据库(进入文件夹)

    use gx_day14;
    
  • 查看文件夹下所有的数据表(文件)

    show tables;
    

检查当前数据库编码

使用语句:

show variables like ‘%character%’;

show variables like’%collation%’;

小结

支持,MySQL的环境搭建相关的事全部搞定了。

  • 安装
  • 配置
  • 启动
  • 连接(密码、忘记密码)

以后我们再操作MySQL时:

  • 关闭和开启MySQL服务

  • 用MySQL自动工具连接MySQL并发送指令

    myql -u root -p 
    

6.MySQL指令

在MySQL和我们平时认知不同的概念。

MySQL 认知
数据库 文件夹
数据表 文件(Excel文件)

6.1 数据库管理(文件夹)

  • 查看已有的数据库(文件夹)

    show databases;
    
  • 创建数据库(文件夹)

    create database 数据库名字 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    
    create database gx_day14 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    
  • 删除数据库(文件夹)

    drop database gx_day14;
    
  • 进入数据库(进入文件夹)

    use gx_day14;
    
  • 查看文件夹下所有的数据表(文件)

    show tables;
    

6.2 数据表的管理(文件)

  • 进入数据库(进入文件夹)

    use 数据库;
    use gx_day14;
    
  • 查看当前数据库下的所有 表(文件)

    show tables;
    
  • 创建表(文件文件)

    create table 表名称(
    	列名称 类型,
        列名称 类型,
        列名称 类型
    )default charset=utf8;
    
    create table tb1(id int, name varchar(16),age int) default charset=utf8;
    
    create table tb1(
        id int, 
        name varchar(16),
        age int
    ) default charset=utf8;
    
    create table tb1(
        id int, 
        name varchar(16) not null,   -- 不允许为空
        age int null,                -- 允许为空(默认)
    ) default charset=utf8;
    
    create table tb1(
        id int, 
        name varchar(16),
        age int default 3        -- 插入数据时,age列的值默认3
    ) default charset=utf8;
    
    create table tb1(
        id int primary key,     -- 主键(不允许为空,不允许重复)
        name varchar(16),
        age int
    ) default charset=utf8;
    

    主键一般用于表示当前行的数据的编号(类似于人的身份证)。

    create table tb1(
        id int auto_increment primary key, -- 内部维护,自增
        name varchar(16),
        age int
    ) default charset=utf8;
    

    一般情况下,我们再创建表时都会这样来写:【标准】

    create table tb1(
        id int not null auto_increment primary key,
        name varchar(16),
        age int
    ) default charset=utf8;
    
    • 查看数据表结构信息
    
    mysql> desc tb1;
    +-------+-------------+------+-----+---------+----------------+
    | Field | Type        | Null | Key | Default | Extra          |
    +-------+-------------+------+-----+---------+----------------+
    | id    | int(11)     | NO   | PRI | NULL    | auto_increment |
    | name  | varchar(16) | YES  |     | NULL    |                |
    | age   | int(11)     | YES  |     | NULL    |                |
    +-------+-------------+------+-----+---------+----------------+
    3 rows in set (0.00 sec)
    
  • 删除表

    drop table 表名称;
    

常用数据类型:

  • tinyint

    有符号,取值范围:-128 ~ 127 (有正有负)【默认】
    无符号,取值范围:0 ~ 255(只有正)
    
    create table tb2(
        id int not null auto_increment primary key,
        age tinyint   -- 有符号:取值范围:-128 ~ 127
    ) default charset=utf8;
    
    create table tb3(
        id int not null auto_increment primary key,
        age tinyint unsigned -- 无符号:取值范围:0 ~ 255
    ) default charset=utf8;
    
  • int

    int				表示有符号,取值范围:-2147483648 ~ 2147483647
    int unsigned	表示无符号,取值范围:0 ~ 4294967295
    
  • bigint

    有符号,取值范围:-9223372036854775808 ~ 9223372036854775807
    无符号,取值范围:0  ~  18446744073709551615
    

    练习题:

    # 创建表
    create table tb2(
        id bigint not null auto_increment primary key,
        salary int,
        age tinyint
    ) default charset=utf8;
    
    # 插入数据
    insert into tb2(salary,age) values(10000,18);
    insert into tb2(salary,age) values(20000,28);
    insert into tb2(salary,age) values(30000,38),(40000,40);
    
    # 查看表中的数据
    select * from tb2;
    
    mysql> show tables;
    +--------------------+
    | Tables_in_gx_day14 |
    +--------------------+
    | tb1                |
    +--------------------+
    1 row in set (0.00 sec)
    
    mysql> create table tb2(
        ->     id bigint not null auto_increment primary key,
        ->     salary int,
        ->     age tinyint
        -> ) default charset=utf8;
    Query OK, 0 rows affected (0.03 sec)
    
    mysql> show tables;
    +--------------------+
    | Tables_in_gx_day14 |
    +--------------------+
    | tb1                |
    | tb2                |
    +--------------------+
    2 rows in set (0.00 sec)
    
    mysql> insert into tb2(salary,age) values(10000,18);
    Query OK, 1 row affected (0.00 sec)
    
    mysql> insert into tb2(salary,age) values(20000,28);
    Query OK, 1 row affected (0.00 sec)
    
    mysql> insert into tb2(salary,age) values(30000,38),(40000,40);
    Query OK, 2 rows affected (0.01 sec)
    Records: 2  Duplicates: 0  Warnings: 0
    
    mysql> select * from tb2;
    +----+--------+------+
    | id | salary | age  |
    +----+--------+------+
    |  1 |  10000 |   18 |
    |  2 |  20000 |   28 |
    |  3 |  30000 |   38 |
    |  4 |  40000 |   40 |
    +----+--------+------+
    4 rows in set (0.00 sec)
    
  • float

  • double

  • decimal

    准确的小数值,m是数字总个数(负号不算),d是小数点后个数。 m最大值为65,d最大值为30。
    
    例如:
    create table tb3(
    	id int not null primary key auto_increment,
    	salary decimal(8,2)
    )default charset=utf8;
    
    insert into tb3(salary) values(1.28);
    insert into tb3(salary) values(5.289);
    insert into tb3(salary) values(5.282);
    insert into tb3(salary) values(122115.11);
    
    select * from tb3;
    
  • char(m),速度快。

    定长字符串,m代表字符串的长度,最多可容纳255个字符。
    
    char(11),固定用11个字符串进行存储,哪怕真是没有11个字符,也会按照11存储。
    
    create table tb4(
    	id int not null primary key auto_increment,
    	mobile char(11)
    )default charset=utf8;
    
    insert into tb4(mobile) values("151");
    insert into tb4(mobile) values("15131255555");
    
  • varchar(m),节省空间。

    变长字符串,m代表字符的长度。   最大65535字节/3 = 最大的m
    
    varchar(11),真实数据有多少长久按照多长存储。
    
    create table tb5(
    	id int not null primary key auto_increment,
    	mobile varchar(11)
    )default charset=utf8;
    
    insert into tb5(mobile) values("151");
    insert into tb5(mobile) values("15131255555");
    
  • text

    text数据类型用于保存变长的大字符串,可以组多到65535 (2**16 − 1)个字符。
    
    一般情况下,长文本会用text类型。例如:文章、新闻等。
    
    create table tb6(
    	id int not null primary key auto_increment,
        title varchar(128),
    	content text
    )default charset=utf8;
    
  • mediumtext

    A TEXT column with a maximum length of 16,777,215 (2**24 − 1) characters.
    
  • longtext

    A TEXT column with a maximum length of 4,294,967,295 or 4GB (2**32 − 1)
    
  • datetime

    YYYY-MM-DD HH:MM:SS(1000-01-01 00:00:00/9999-12-31 23:59:59)
    
  • date

    YYYY-MM-DD(1000-01-01/9999-12-31)
    

练习题:用户表

create table tb7(
	id int not null primary key auto_increment,
    name varchar(64) not null,
    password char(64) not null,
    email varchar(64) not null,
    age tinyint,
    salary decimal(10,2),
    ctime datetime
)default charset=utf8;


insert into tb7(name,password,email,age,salary,ctime) values("武沛齐","123","[email protected]",19,1000.20,"2011-11-11 11:11:10");

insert into tb7(name,password,email,age,salary,ctime) values("张电摩","123","[email protected]",19,1000.20,"2011-11-11 11:11:10");

insert into tb7(name,password,email,age,salary,ctime) values("庞小青","123","[email protected]",19,1000.20,"2011-11-11 11:11:10");

insert into tb7(name,password,email,age,salary,ctime) values("谢涛","123","[email protected]",19,1000.20,"2011-11-11 11:11:10");

insert into tb7(name,password,email,age,salary,ctime) values("谢鹏","123","[email protected]",19,1000.20,"2011-11-11 11:11:10");

select * from tb7;


+----+-----------+----------+-------------+------+---------+---------------------+
| id | name      | password | email       | age  | salary  | ctime               |
+----+-----------+----------+-------------+------+---------+---------------------+
|  1 | 武沛齐    | 123      | [email protected] |   19 | 1000.20 | 2011-11-11 11:11:10 |
+----+-----------+----------+-------------+------+---------+---------------------+
1 row in set (0.00 sec)

MySQL还有很多其他的数据类型,例如:set、enum、TinyBlob、Blob、MediumBlob、LongBlob 等,详细见官方文档:https://dev.mysql.com/doc/refman/5.7/en/data-types.html

我们平时开发系统时,一般情况下:

  • 创建数据库
  • 创建表结构

都是需要提前通过上述命令创建。

标签:11,salary,教程,int,utf8,age,mysql,安装
From: https://www.cnblogs.com/myayy/p/17195748.html

相关文章

  • Centos7安装Docker环境
    Dockerdaemon(Docker守护进程):运行在宿主机上,Docker守护进程,用户通过Dockerclient(Docker命令)与Dockerdaemon交互。Images(镜像):将软件环境打包好的模板,用来创建容......
  • MySQL查看数据库性能常用命令和实战教学
    MySQL查看数据库性能常用命令#列出MySQL服务器运行各种状态值showglobalstatus;#查询MySQL服务器配置信息语句showvariables;#慢查询showvariableslike'%sl......
  • AppUploader教程:如何使用该工具制作Apple证书
    ​ AppUploader下载安装操作 AppUploader是一款方便快捷的开发者工具,提供了多项实用的功能。本文将介绍AppUploader的下载和安装步骤,帮助您快速使用该工具。1.下载A......
  • mysqlbinlog恢复数据实战
    binlog我们中文一般称作归档日志,如果大家看过松哥之前发的MySQL主从搭建,应该对这个日志有印象,当我们搭建MySQL主从的时候就离不开binlog(传送门:MySQL8主从复制踩坑指......
  • centos8-x86_64安装kylinv10-arrch64
    1.vmwareesxi安装centos8,开启内核虚拟化2.安装qemu-system-arrch64操作:wgethttps://download.qemu.org/qemu-2.11.0.tar.xztarxvJfqemu-2.11.0.tar.xzcdqem......
  • docker-compose部署mysql8的登录问题
    之前docker-compose部署mysql8的时候密码设置好,第一次启动容器,登录密码不对,需要登录容器跳过密码,重新修改密码启动,就研究了以下,就几个问题就弄好了docker-compose.yaml文......
  • 串口服务器接入阿里云MQTT协议的软件配置教程
    在之前的文章中我们了解到虚拟串口软件作为TCP客户端来结合串口服务器使用,这一期我们来看一下串口服务器怎样接入阿里云物模型。步骤详尽,一文读懂。1.阿里云MQTT环境配置......
  • 使用npm安装依赖包时报错,解决办法
    npmERR!code1npmERR!pathF:\Awork\D\v1\lotus\node_modules\node-sassnpmERR!commandfailednpmERR!commandC:\WINDOWS\system32\cmd.exe/d/s/cnodesc......
  • 使用国内镜像安装nvm
    要使用国内镜像安装nvm,您可以按照以下步骤操作:首先,安装nvm需要使用命令行工具,例如Terminal(终端)或GitBash。打开您的命令行工具。在命令行中输入以下命令来下载nvm脚......
  • Centos7 离线安装 MySQL 8.0.32
    1官网下载mysql离线rpm包下载地址:https://dev.mysql.com/downloads/mysql/2将下载的tar包上传到/opt/rpm/mysql目录 3删除CentOS自带的mariadb 说明:不删的话my......