当前位置: 首页 > news >正文

mysql8安装基础操作(一)

一、下载mysql8.0

1.查看系统glibc版本

这里可以看到glibc版本为2.17,所以下载mysql8.0的版本时候尽量和glibc版本对应

[root@node2 ~]# rpm -qa |grep -w glibc
glibc-2.17-222.el7.x86_64
glibc-devel-2.17-222.el7.x86_64
glibc-common-2.17-222.el7.x86_64
glibc-headers-2.17-222.el7.x86_64

2.下载包

官网地址

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

如下图:

在这里插入图片描述

具体下载地址如下:

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.36-linux-glibc2.17-x86_64.tar.xz

3.安装

[root@node2 ~]# tar xf mysql-8.0.36-linux-glibc2.17-x86_64.tar.xz 
[root@node2 ~]# mv mysql-8.0.36-linux-glibc2.17-x86_64 /usr/local/mysql8创建数据目录
[root@node2 ~]# mkdir -p /data/mysql/data
[root@node2 ~]# mkdir -p /data/mysql/tmp创建用户、修改文件权限
[root@node2 ~]# useradd mysql
[root@node2 ~]# chown -R mysql:mysql /usr/local/mysql8
[root@node2 ~]# chown -R mysql:mysql /data/mysql

4.配置my.cnf

这里是最简单的配置,能够启动即可

vim /etc/my.cnf
[client]
port = 3306
socket = /data/mysql/tmp/mysql.sock[mysql]
no-auto-rehash[mysqld]
user    = mysql
port    = 3306
basedir = /usr/local/mysql8
datadir = /data/mysql/data
socket  = /data/mysql/tmp/mysql.sock
mysqlx_socket = /data/mysql/tmp/mysqlx.sock
pid-file = /data/mysql/tmp/mysql.pid
character-set-server = utf8mb4
skip_name_resolve = 1

5.初始化数据库

cd /usr/local/mysql8/bin/
./mysqld --initialize-insecure  --user=mysql --basedir=/usr/local/mysql8/ --datadir=/data/mysql/data/

6.启动数据库

cp /usr/local/mysql8/support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/init.d/mysqld
/etc/init.d/mysqld start重启命令如下
service mysqld restart

7.开机启动

# 这样操作能成功,是因为启动脚本中有chkconfig的配置
chkconfig --add mysqld

二、database基本操作

1.mysql中的注释

在mysql中注释使用 #

2.查看所有数据库

mysql> show databases;

3.切换数据库

mysql> use sys;
Database changed

4.查看所有表

mysql> show tables;

5.创建数据库

mysql> create database mydb;
Query OK, 1 row affected (0.01 sec)

6.删除数据库

mysql> drop database mydb;
Query OK, 0 rows affected (0.01 sec)

三、表的基本操作

1.数据类型

只写一些常见的数据类型

数据类型大小用途
int4 bytes(4个字节)普通大小整数
bigint8 bytes(8个字节)大整数
char0-255 bytes定长字符串
varchar0-65535 bytes变长字符串
dateYY-MM-DD日期
datetimeYY-MM-DD HH:MM:SS日期和时间
timestamp时间戳

2.创建表

语法格式:
其中[] 中的内容可以写,也可以不写。
但是要注意:varchar类型的宽度必须指定

create table 表名(字段名1 类型[(宽度)] [约束条件] [comment '字段说明'],字段名2 类型[(宽度)] [约束条件] [comment '字段说明'],字段名3 类型[(宽度)] [约束条件] [comment '字段说明'],
)[表的一些设置参数]

例子:

mysql> create table student(id int,name varchar(20),age int,gender varchar(20),birthday date);

3.表结构相关操作

3.1 查看表的创建语句

mysql> show create table student;

3.2 查看表结构

mysql> desc student;

3.3 删除表

mysql> drop table student;
Query OK, 0 rows affected (0.01 sec)

3.4 添加字段

语法:

alter table 表名 add 列名 类型(长度) [约束];

例子:为student表添加about字段

mysql> alter table student add about varchar(20);

3.5 修改字段名

语法

alter table 表名 change 旧列名 新列名 类型(长度) [约束];

实例: 将about字段名改为news

alter table student change about news varchar(20);

3.6 删除列

语法:

alter table 表名 drop 列名;

例子:删除news字段

mysql> 
mysql> alter table student drop news;

3.7 修改表名

语法:

rename table 原表名 to 新表名;

例子: 将student表改为stu;

mysql> rename table student to stu;

4.insert语句

4.1 语法

语法1:根据字段名插入数据

insert into 表(字段名1,字段名2,字段名3......) values(值1,值2,值3......);

语法2:向所有列插入数据

insert into 表 values(值1,值2,值3......);

4.2 插入实例

全部插入为空值

insert into student values();

插入具体值

mysql> insert into student values(1,'zhangsan',20,'boy','2020-01-01');

5.update语句

语法:

修改所有的列
update 表名 set 字段名=值,字段名=值,......;修改满足条件的列
update 表名 set 字段名=值,字段名=值 where 条件;

实例:

update  student set age=21 where name='zhangsan';

6.delete语句

语法:

删除表内所有内容
delete from;删除表内指定的内容
delete from 表 whete 条件;

6.1 实例:

delete from student;delete from student where name='zhangsan';

6.2 删除值为NULL的行

delete from student where id is NULL;

四、mysql约束

1.概念

约束的概念是出现在创建表的时候,会给字段创建对应的约束条件。约束的作用就是 “限制表中数据” 的条件

2.分类

条件语法
主键约束primary key(比较重要)
自增长约束auto_increment(比较重要)
非空约束not null
唯一性约束unique
默认约束default
零填充约束zerofill
外键约束foreign key

3.主键约束

3.1 概念

主键约束相当于 唯一约束 + 非空约束的组合。主键约束不允许重复,不允许出现空值
每个表最多只允许一个主键
当创建主键约束时,系统默认会在所在的列和列组合上建立对应的唯一索引
主键主要是为了标识一行的数据的唯一性

3.2 添加单列主键

在创建表的时候添加主键

 create table teacher(# 这里给id字段设置了主键id int primary key,name char);

3.3 添加多列主键

多列主键 也叫做(联合主键)
语法:

create table(字段1 类型 约束条件,......primary key(字段1,字段2))

3.4 alter 添加主键

如果表创建完毕了忘记了添加了主键,然后需要用alter添加

语法:

alter table 表名 add primary key(字段名);

例子:

alter table teacher add primary key(id);

3.5 删除主键

alter table  表名 drop primary key;

4.自增长约束

当主键定义为自增长后,这个主键的值就不需要用户输入数据了,而由数据库系统根据定义自动赋值
一张表只能有一列使用自增长约束
自增长字段的类型必须是整数类型
自增长的最大值受该字段数据类型的最大值限制,如果达到上线,会自动失效.
语法:在字段后边加上auto_increment

create table(字段1 类型 auto_increment,字段2 类型 约束条件,
)

例子:
一般主键约束和自增长一起出现。

create table teacher(id int primary key auto_increment,name varchar(20)
);

插入数据

insert into teacher values(NULL,'zhangsan');
insert into teacher values(NULL,'lisi');
insert into teacher values(NULL,'wangwu');

结果如下:

mysql> select * from teacher;
+----+----------+
| id | name     |
+----+----------+
|  1 | zhangsan |
|  2 | lisi     |
|  3 | wangwu   |
+----+----------+

5.非空约束

create table teacher(id int, name char not null
);
#插入数据报错
mysql> insert into teacher values(1,NULL);
ERROR 1048 (23000): Column 'name' cannot be null

5.1 现有字段添加not null

alter tablemodify 字段 类型 not null;

6.唯一约束

语法:创建表时添加

create table teacher(id int, name char unique
);

创建完后的表

alter table teacher add unique(id);

7.默认约束

默认约束是用来指定某列的默认值
语法:

create table teacher(name varchar(20),age int default 20
);
insert into teacher (name) values('zhangsan');mysql> select * from teacher;
+----------+------+
| name     | age  |
+----------+------+
| zhangsan |   20 |
+----------+------+

注意:这里不能插入NULL,不然默认值不生效。

相关文章:

mysql8安装基础操作(一)

一、下载mysql8.0 1.查看系统glibc版本 这里可以看到glibc版本为2.17,所以下载mysql8.0的版本时候尽量和glibc版本对应 [rootnode2 ~]# rpm -qa |grep -w glibc glibc-2.17-222.el7.x86_64 glibc-devel-2.17-222.el7.x86_64 glibc-common-2.17-222.el7.x86_64 gl…...

MIT6.5830 实验0

前置 本次实验使用 Golang 语言实现,在之前的年份中,都是像 cs186 那样使用 Java 实现。原因: Golang 语言作为现代化语言,简单易上手但功能强大。 使参加实验的同学有同一起跑线,而不是像Java那样,有些同…...

【简便方法和积累】pytest 单元测试框架中便捷安装插件和执行问题

又来进步一点点~~~ 背景:之前写了两篇关于pytest单元测试框架的文章,本篇内容对之前的做一个补充 一、pytest插件: pytest 有非常多的插件,很方便,以下为插件举例: pytest,pytest-html&#x…...

Zabbix数据库分离与邮件报警

基础环境:要有zabbix服务端与被监控端实验目标:源数据库与服务端存放在一台服务器上,分离后源数据库单独在一台服务器上,zabbix服务端上不再有数据库。环境拓扑图: 实验步骤: 1.在8.7服务器上安装相同版本…...

mybatisplus-多数据源配置

1. 流程 pom文件yml配置多数据源具体服务添加注解DS(“***”) 1.pom文件 <!--mybatis plus 起步依赖--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.0</vers…...

微信小程序(二十八)网络请求数据进行列表渲染

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.GET请求的规范 2.数据赋值的方法 源码&#xff1a; index.wxml <!-- 列表渲染基础写法&#xff0c;不明白的看上一篇 --> <view class"students"><view class"item">&…...

ubuntu22.04 安装conda

要在Ubuntu 22.04上安装Anaconda&#xff0c;可以遵循以下步骤&#xff1a; 首先&#xff0c;打开终端并更新系统包仓库&#xff0c;也需要安装curl工具&#xff0c;这可以通过以下命令完成&#xff1a; sudo apt update && sudo apt install curl -y使用curl命令行工具…...

W801学习笔记十:HLK-W801制作学习机/NES游戏机(总结)

本章总结一下整个开发过程中遇到的问题&#xff1a; 1、引脚的抗干扰问题&#xff1a; 屏幕显示的时候&#xff0c;概率出现花屏。无论怎么修改代码都不能解决&#xff0c;一个偶然的机会&#xff0c;发现当手触摸屏幕的WR和CS引脚时&#xff0c;屏幕会正常。查阅资料&#x…...

《HTML 简易速速上手小册》第6章:HTML 语义与结构(2024 最新版)

文章目录 6.1 语义化标签的重要性6.1.1 基础知识6.1.2 案例 1&#xff1a;使用 <article>, <section>, <aside>, <header>, 和 <footer>6.1.3 案例 2&#xff1a;构建带有嵌套语义化标签的新闻网站6.1.4 案例 3&#xff1a;创建一个带有 <mai…...

分析HarmonyOS应用/服务的CPU活动性能

CPU Profiler 性能分析是用来分析CPU性能瓶颈的工具&#xff0c;可以实时查看应用/服务的CPU使用率和线程活动&#xff0c;也可以查看记录的方法跟踪数据、方法采样数据和系统跟踪数据的详情。基于CPU性能分析&#xff0c;您可以了解在一段时间内执行了哪些方法&#xff0c;以及…...

Linux:理解信号量以及内核中的三种通信方式

文章目录 共享内存的通信速度消息队列msggetmsgsndmsgrcvmsgctl 信号量semgetsemctl 内核看待ipc资源单独设计的模块ipc资源的维护 理解信号量总结 本篇主要是基于共享内存&#xff0c;延伸出对于消息队列和信号量&#xff0c;再从内核的角度去看这三个模块实现进程间通信 共享…...

【ArcGIS微课1000例】0100:ArcGIS for CAD软件下载与安装(附安装包)

ArcGIS for CAD软件下载与安装(附安装包)。 文章目录 一、ArcGIS for CAD概述1. ArcGIS for CAD介绍2. 主要功能二、ArcGIS for CAD下载三、ArcGIS for CAD安装1. 安装CAD2. 安装ArcGIS for CAD3. 配置一、ArcGIS for CAD概述 1. ArcGIS for CAD介绍 ArcGIS for CAD是Esri提…...

Django模型(一)

一、介绍 模型&#xff0c;就是python中的类对应数据库中的表 1.1、ORM ORM 就是通过实例对象的语法&#xff0c;完成关系型数据库的操作的技术&#xff0c;是"对象-关系映射"&#xff08;Object/Relational Mapping&#xff09; 的缩写 ORM 把数据库映射成对象 1.…...

【ChatGPT】文本向量化与余弦相似度:揭开文本处理的神秘面纱(5)

1、引言 在这个数字化的时代&#xff0c;我们每天都会面对大量的文本信息&#xff0c;从社交媒体到新闻报道&#xff0c;文本无处不在。但是&#xff0c;计算机要如何理解和处理这些文字呢&#xff1f;本文将为大家揭开其中的一些奥秘&#xff0c;详细解释文本向量化的概念&am…...

计算机中丢失mfc100u.dll怎么解决,详细解析mfc100u.dll丢失的解决方法

遭遇“无法找到mfc100u.dll”的错误不必过分担忧&#xff0c;这是一个普遍现象。许多用户在启动某些软件或游戏的时候可能会碰到这样的情况。通常&#xff0c;这个错误信息表明你的计算机系统中缺失了一个关键的动态链接库(DLL)文件&#xff0c;它可能会妨碍应用程序的顺利启动…...

代码随想录 Leetcode617.合并二叉树

题目&#xff1a; 代码(首刷看解析 2024年1月31日&#xff09;&#xff1a; class Solution { public:TreeNode* mergeTrees(TreeNode* root1, TreeNode* root2) {if (!root1) return root2;if (!root2) return root1;root1->val root2->val;root1->left mergeTree…...

知识价值1-github站点域名

github如果访问不上&#xff0c;有一个办法是hosts映射&#xff1a; github.com x.x.x.x github.global.ssl.fastly.net y.y.y.y assets-cdn.github.com z.z.z.z1 assets-cdn.github.com z.z.z.z2 assets-cdn.github.com z.z.z.z3 assets-cdn.github.com z.z.z.z3 那这几个域名…...

【PyRestTest】进行Benchmarking测试

PyRestTest支持通过Curl请求本身收集比较差的网络环境下的性能指标。 基准测试&#xff1a;它们扩展了测试中的配置元素&#xff0c;允许你进行相似的REST调用配置。然而&#xff0c;它们不对HTTP响应情况进行验证&#xff0c;它只收集指标数据。 下列选项被指定用于benchmar…...

cocos creator 调用预设体Prefab中的方法(调用另一个节点的方法)

调用预设体中的方法 通过cc.instantiate(this.star)创建这个预设体实例这个star预设体中添加了一个脚本组件star.ts 获取到这个脚本组件star.getComponent(‘star’).test()&#xff0c;并调用其中的test()方法同理可以用该方式像另一个节点中传值 //星星预设体property(cc.Pr…...

Spring 学习2 --基于xml管理Bean

1、xml管理Bean <?xml version"1.0" encoding"UTF-8"?> <beans xmlns"http://www.springframework.org/schema/beans"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://www.springfr…...

OpenUSD终极渲染器切换指南:Storm vs Prman性能深度对比

OpenUSD终极渲染器切换指南&#xff1a;Storm vs Prman性能深度对比 【免费下载链接】OpenUSD Universal Scene Description 项目地址: https://gitcode.com/GitHub_Trending/ope/OpenUSD OpenUSD&#xff08;Universal Scene Description&#xff09;作为强大的3D场景描…...

Redmine API实战指南:从数据同步到工作流自动化

Redmine API实战指南&#xff1a;从数据同步到工作流自动化 【免费下载链接】redmine Mirror of redmine code source - Official Subversion repository is at https://svn.redmine.org/redmine - contact: vividtone or maeda (at) farend (dot) jp 项目地址: https://gitc…...

RISC-V开发工具链技术解析与选型指南

1. RISC-V开发工具链技术解析1.1 RISC-V生态发展背景随着处理器架构领域对开放性和灵活性的需求增长&#xff0c;RISC-V指令集架构凭借其开源特性获得了广泛关注。与传统架构相比&#xff0c;RISC-V免除了授权费用&#xff0c;降低了开发门槛&#xff0c;这使得芯片厂商和工具链…...

新中大SE系统反月结避坑指南:从月结修复到重新记账的完整操作解析

新中大SE系统月结异常处理实战手册&#xff1a;从错误回溯到数据修正的全流程精解 财务系统的月结操作如同会计周期的"收官之战"&#xff0c;一旦发现历史凭证存在错误&#xff0c;往往让使用者陷入两难境地——既要确保数据准确性&#xff0c;又担心操作不当引发连锁…...

无需Root!用KSWEB在旧安卓手机上搞个私人服务器:文件共享+内网穿透实战

无需Root&#xff01;用KSWEB在旧安卓手机上搭建全能私人服务器 家里闲置的安卓手机别急着扔&#xff0c;只需安装一个KSWEB应用&#xff0c;就能变身为功能齐全的私人服务器。这个方案特别适合想低成本搭建家庭NAS、个人云存储或测试环境的极客用户。相比动辄上千元的专业NAS设…...

消息防撤回技术全解析:从原理到实践的即时通讯数据保护方案

消息防撤回技术全解析&#xff1a;从原理到实践的即时通讯数据保护方案 【免费下载链接】RevokeMsgPatcher :trollface: A hex editor for WeChat/QQ/TIM - PC版微信/QQ/TIM防撤回补丁&#xff08;我已经看到了&#xff0c;撤回也没用了&#xff09; 项目地址: https://gitco…...

WarcraftHelper:魔兽争霸3现代优化解决方案 - 突破兼容性壁垒,重焕经典游戏活力

WarcraftHelper&#xff1a;魔兽争霸3现代优化解决方案 - 突破兼容性壁垒&#xff0c;重焕经典游戏活力 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper …...

LeetCode 125. Valid Palindrome 题解

LeetCode 125. Valid Palindrome 题解 题目描述 给定一个字符串&#xff0c;验证它是否是回文串&#xff0c;只考虑字母和数字字符&#xff0c;可以忽略字母的大小写。 示例 1&#xff1a; 输入: "A man, a plan, a canal: Panama" 输出: true 解释&#xff1a;"…...

特斯拉行车记录仪视频合并神器:告别碎片化,一键生成完整记录

特斯拉行车记录仪视频合并神器&#xff1a;告别碎片化&#xff0c;一键生成完整记录 【免费下载链接】tesla_dashcam Convert Tesla dash cam movie files into one movie 项目地址: https://gitcode.com/gh_mirrors/te/tesla_dashcam 还在为特斯拉行车记录仪生成的海量…...

NeMo Voice Agent:企业级语音助手框架的技术架构与性能分析

NeMo Voice Agent&#xff1a;企业级语音助手框架的技术架构与性能分析 【免费下载链接】NeMo NVIDIA/NeMo: 是一个用于实现语音和自然语言处理的开源框架。适合在需要进行语音和自然语言处理的任务中使用。特点是提供了一种简单、易用的 API&#xff0c;支持多种语音和自然语言…...