MySQL基础入门教程

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL小白基础入门教程

MySQL

1.安装MySQL

(一)下载MySQL

方法1:通过本机电脑上传,下载地址:MySQL :: Download MySQL Community Server

方法2:在线安装

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz

(二)解压MySQL

tar zxvf 文件名

tar zxvf mysql-8.0.25-linux-glibc2.12-x86_64.tar.gz

(三)移动目录

mv 文件名 指定目录

目录为:/usr/local/

mv mysql-8.0.15-linux-glibc2.12-i686.tar.xz /usr/local/

(四)修改目录名

mv mysql-8.0.15-linux-glibc2.12-i686 mysql

(五)创建data文件夹

mkdir -p /data/mysqldata/

(六)创建用户组(初始化需要)

groupadd mysql

(七)创建用户(初始化需要)

useradd -r -g mysql mysql

(八)用户赋予权限

chown mysql:mysql -R /data/mysqldata
chmod 750 /data/mysqldata/ -R

(九)配置MySQL环境变量

vi /etc/profile

在最后一行添加环境变量

export PATH=$PATH:MySQL解压路径/mysql-8.0.25/bin:MySQL解压路径/mysql-8.0.25/lib

(十)MySQL配置

vim /etc/my.cnf

添加以下配置信息

[mysql]
# 客户端默认字符集
default-character-set=utf8mb4
[client]
prt=3306
socket=/var/lib/mysql/mysql.sock
[mysqld]
port=3306
server-id=3306
user=mysql
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# 设置mysql的安装目录
basedir=/home/mysql-8.0.25 #你自己的安装路径
# 设置mysql数据库的数据的存放目录
datadir=/data/mysqldata/mysql  #你自己创建的数据库文件存放路径
log-bin=/data/mysqldata/mysql/mysql-bin
innodb_data_home_dir=/data/mysqldata/mysql
innodb_log_group_home_dir=/data/mysqldata/mysql
character-set-server=utf8mb4
lower_case_table_names=1
autocommit=1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd

[mysqld_safe]
#设置mysql数据库的日志及进程数据的存放目录
log-error=/data/mysqldata/mysql/mysql.log
pid-file=/data/mysqldata/mysql/mysql.pid

(十一)初始化MySQL

cd /usr/local/mysql-8.0.25/bin/
./mysqld --defaults-file=/etc/my.cnf --basedir=/home/mysql-8.0.25/ --datadir=/data/mysqldata/mysql --user=mysql --initialize

初始化参数详解

--defaults-file=/etc/my.cnf 指定配置文件(一定要放在最前面,至少 --initialize 前面)
--user=mysql 指定用户
--basedir=/home/mysql-8.0.25/ 指定安装目录
--datadir=/data/mysqldata/mysql/ 指定初始化数据目录

保存临时密码

点击查看图片.jpg)

(十二)启动MySQL

# 1.复制 mysql.server 文件
cp /home/mysql-8.0.25/support-files/mysql.server /etc/init.d/mysqld
# 2.赋予权限
chown 777 /etc/my.cnf
chmod +x /etc/init.d/mysql
chmod +x /etc/init.d/mysqld
# 3.检查一下/var/lib/mysql是否存在,否进行创建
mkdir /var/lib/mysql #目录和my.cnf保持一致
# 4.赋予权限
chown -R mysql:mysql /var/lib/mysql/ #目录和my.cnf保持一致
# 5.启动数据库
service mysql start #或者 systemctl mysql start

(十三)设置密码

mysql -u root -p

输入临时密码

点击查看图片

修改密码

ALTER USER 'root'@'localhost' IDENTIFIED with mysql_native_password BY '新密码';

(十四)MySQL开机自启

#1.查看是否有mysql服务
chkconfig --list
#2.进入mysql软件目录,复制mysql.server文件到 /etc/rc.d/init.d目录下
cp   /home/mysql-8.0.25/support-files/mysql.server  /etc/rc.d/init.d/mysql
#3.给/etc/rc.d/init.d/mysql赋权可执行权限
chmod  +x  /etc/rc.d/init.d/mysql
#4.添加mysql服务
chkconfig --add mysql
#5.使mysql服务开机自启
chkconfig --level 345 mysql on
#6.查看MySQL服务 ,重启服务器,测试是否成功。
chkconfig --list

MySQL语法

(一)登录MySQL数据库

  • 本机登录

    mysql –u用户名 –p密码
    
  • 远程登录

    mysql --host=ip地址 --user=用户名 --password=密码
    

(二)SQL语句分类

数据定义语言:简称DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create,alter,drop等

数据操作语言:简称DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert,delete,update等

数据控制语言:简称DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户。

数据查询语言:简称DQL(Data Query Language),用来查询数据库中表的记录。关键字:select,from,where等

(三)数据类型

点击查看图片

(四)数据库操作-DDL

创建数据库

create database 数据库名
CREATE DATABASE [IF NOT EXISTS] db_name CHARACTER SET charset_name COLLATE collation name;
**参数详解**:

`db_name`:<u>数据库命名</u>

`CHARACTER SET`:<u>指定字符集</u>

`COLLATE`:指定字符集的校对规则

`IF NOT EXISTS`:在创建数据库前查询是否已存在同名的数据库,防止冲突

选择数据库

USE db_name;

修改数据库

ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
**参数详解**:

`db_name`:<u>数据库命名</u>

`utf8`:<u>字符编码格式</u>

`utf8_general_ci`:<u>排序规则</u>

删除数据库

DROP DATABASE IF EXISTS db_name;

查看数据库

SHOW DATABASES;

(六)表的操作-DDL

创建表

create table 表名(
字段名 类型(长度) 约束,
字段名 类型(长度) 约束
);

例:
CREATE TABLE Student(
 Stu_id INT NOT NULL AUTO_INCREMENT COMMENT '主键(自增长)',
 Stu_name CHAR(50) NOT NULL COMMENT '姓名',
 Stu_sex tinyint(2) NOT NULL DEFAULT 1 COMMENT '性别 1-男,2-女',
 Stu_address CHAR(50) NULL COMMENT '地址',
 Stu_contact CHAR(50) NULL COMMENT '联系方式',
PRIMARY KEY(Stu_id)
)COMMENT = '学生表' ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
注:
PRIMARY KEY 为“主键”
COMMENT为“注释”

查看表

  • 查看所有表

    SHOW TABLES;
    
  • 查看表结构

    desc db_name;
    

删除表

  • 谨慎执行

    drop table 表名;
    

修改表

  • 增加列

    alter table 表名 add 列名 类型(长度) 约束;
    
  • 修改表名

    ALTER TABLE 表名 rename to 新表名;
    
  • 修改表的字符集

    alter table 表名 character set 字符集;
    
  • 修改列的数据类型

    ALTER TABLE 表名 MODIFY COLUMN Stu_name char(20);
    
  • 修改列名

    ALTER TABLE 表名 CHANGE COLUMN Stu_sex sex CHAR(1) NULL DEFAULT 'M';
    
  • 删除列

    ALTER TABLE 表名 DROP COLUMN Stu_contact;
    

(七)数据操作-DML

  • 插入数据

    INSERT [INTO] tbl_name [(col_name, ...)] {VALUES | VALUE} ({expr | DEFAULT}),(...),,,
    例:
    INSERT INTO tbl_name 
    (id, name, sex, address, contact)
    VALUES
    (123, '小明', 1, '深圳市', '龙岗区');
    

    插入部分值

INSERT [INTO] tbl_name SET col_name = {expr | DEFAULT}, ...
例:
INSERT INTO tbl_name 
SET name='小红', address='深圳',sex=0;
  • 修改数据

    UPDATE tbl_name SET col_name={expr | DAFAULT} [,col_name2={expr | DEFAULT}].. [WHERE where_condition] [ORDER BY..] [LIMIT row_count]
    例:
    UPDATE tbl_name SET address='北京市' WHERE id=333;
    
  • 删除数据

    DELETE FROM tbl_name [WHERE where_condition]
    例:
    DELETE FROM tbl_name WHERE id=123;
    
  • 查询数据

    SELECT语句查询执行顺序:
    1.FROM子句与多表连接查询
    2.WHERE 子句与条件查询
    3.GROUP BY 子句与分组数据
    4.HAVING子句
    5.SELECT阶段
    6.ORDER BY 子句
    7.LIMIT子句
    
  1. 查询所有字段

    select * from 表名;
    
  2. 查询去重操作

    select distinct 字段 from 表名;
    
  3. 别名格式(表别名、列别名)

    1.select * from 表名 as 别名;
    2.select 字段名 as 别名 from 表名;
    
  4. 查询条件

    1.SELECT * FROM tbale_name WHERE money >1000;
    2.SELECT * FROM tbale_name WHERE money BETWEEN 2000 AND 5000;
    3.SELECT * FROM tbale_name WHERE money =1000 OR money =5000 OR money =3500;
    4.SELECT * FROM tbale_name WHERE money IN(1000,5000,3500);
    5.SELECT * FROM tbale_name WHERE name LIKE "%小明%";
    6.SELECT * FROM tbale_name WHERE name IS NOT NULL;
    
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6月前
|
存储 关系型数据库 MySQL
MYSQL存储过程基础入门教程
MYSQL存储过程基础入门教程
31 0
|
5月前
|
关系型数据库 MySQL 数据库
『Django』模型入门教程-操作MySQL
一个后台如果没有数据库可以说废了一半。日常开发中大多数时候都在与数据库打交道。Django 为我们提供了一种更简单的操作数据库的方式。 在 Django 中,模型(Model)是用来定义数据库结构的类。每个模型类通常对应数据库中的一个表,类的属性对应表中的列。通过定义模型,Django 的 ORM(Object-Relational Mapping)可以将 Python 对象映射到数据库表,并提供一套 API 来进行数据库操作。 本文介绍模型的用法。
|
5月前
|
存储 关系型数据库 MySQL
数据库MySQL——从0到1入门教程
数据库MySQL——从0到1入门教程
235 0
|
SQL 关系型数据库 MySQL
​​​软件开发入门教程网之​​MySQL 连接的使用​
​​​软件开发入门教程网之​​MySQL 连接的使用​
|
6月前
|
存储 关系型数据库 MySQL
《MySQL 入门教程》第 05 篇 账户和权限,Java高并发编程详解深入理解pdf
《MySQL 入门教程》第 05 篇 账户和权限,Java高并发编程详解深入理解pdf
|
6月前
|
存储 SQL 关系型数据库
MySql入门教程--MySQL数据库基础操作
MySql入门教程--MySQL数据库基础操作
|
SQL 关系型数据库 MySQL
​​​软件开发入门教程网之​​MySQL LIKE 子句​
​​​软件开发入门教程网之​​MySQL LIKE 子句​
|
SQL 关系型数据库 MySQL
软件开发入门教程网之Python MySQL - mysql-connector 驱动 2
软件开发入门教程网之Python MySQL - mysql-connector 驱动
49 0
|
关系型数据库 MySQL 数据库
软件开发入门教程网之Python MySQL - mysql-connector 驱动 1
软件开发入门教程网之Python MySQL - mysql-connector 驱动
48 0
|
SQL 关系型数据库 MySQL
软件开发入门教程网之Python MySQL - mysql-connector 驱动
软件开发入门教程网之Python MySQL - mysql-connector 驱动