返回顶部
首页 > 资讯 > 数据库 >mysql+sqlyog的超详细完整安装+数据库基础知识
  • 688
分享到

mysql+sqlyog的超详细完整安装+数据库基础知识

mysql数据库oracle 2023-10-12 18:10:46 688人浏览 八月长安
摘要

目录 一、安装mysql下载解压添加环境变量创建文件启动mysql安装mysql 二、sqlyog安装sqlyog下载 三 补充3.1 常用的数据库命令3.2 基本操作3.2.1 常用

目录

一、安装Mysql

下载

地址:https://dev.mysql.com/downloads/mysql/5.5.html
注册或登录oracle账户下载
在这里插入图片描述

解压添加环境变量

复制到文件路径至bin的到
此电脑——高级系统设置——高级——环境变量——
在这里插入图片描述

点下面的path
在这里插入图片描述

新建粘贴路径即可
在这里插入图片描述一路确定

创建文件

环境配置完成后,打开文件夹,创建一个新的文件后缀名为 .ini 的 my.ini空白文件以初始化mysql数据库
在这里插入图片描述
复制这段话贴进去(其中两个路径改一下,注意是//不是/)

[mysql]# 设置mysql客户端默认字符集default-character-set=utf8[mysqld]# 设置3306端口port = 3306# 设置mysql的安装目录basedir = D:\\software_learning\\database\\mysql-8.0.30-winx64# 设置mysql数据库的数据的存放目录datadir = D:\\software_learning\\database\\mysql-8.0.30-winx64\\data# 允许最大连接数max_connections=20# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB# 创建模式sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

在这里插入图片描述
保存退出

启动mysql

以管理员运行cmd窗口
切换盘符,进入mysql文件夹下的bin目录下
在这里插入图片描述
2. mysqld --initialize 初始化mysql。
在这里插入图片描述

在这里插入图片描述
在生成的datd文件夹下找到后缀.err文件,用记事本打开
在这里插入图片描述
在这里插入图片描述
2022-09-13T07:56:04.929927Z 6 [Note] [MY-010454] [Server] A temporary passWord is generated for root@localhost: (ab8w7j6aa,J

查看初始账号、密码也就是下面:(密码是无空格的连续的,首可能是各种奇怪的符号)
账号:root
密码:(ab8w7j6aa,J

安装mysql

如果之前有安装过可以先在cmd命令窗口输入sc delete mysql 删除之前的mysql服务(非必要,可忽略)
在这里插入图片描述

接着在文件的bin目录下输入mysqld --install 命令;

在这里插入图片描述
成功后net start mysql启动
在这里插入图片描述
修改初始密码

alter user ‘root’@‘localhost’ identified with mysql_native_password by ’ 这里填写新密码 ';
例如:
alter user ‘root’@‘localhost’ identified with mysql_native_password by ’ 123456 ';

在这里插入图片描述
在这里插入图片描述
至此mysql安装启动完毕
如果要停止:

net stop mysql

二、sqlyog安装

上面的服务别关闭

sqlyog下载

http://ms-mcms/upload/1/editor/1576571660432.zip

更新上面链接不行了:https://github.com/webyog/sqlyog-community/wiki/Downloads
下载解压后
进入文件夹找到.exe文件,双击安装
在这里插入图片描述
在这里插入图片描述
后面都是选下一步
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装后运行,需要注册密钥,下面三选一即可

姓名(Name):cr173
序列号(Code):8d8120df-a5c3-4989-8f47-5afc79c56e7c

姓名(Name):cr173
序列号(Code):59adfdfe-bcb0-4762-8267-d7fccf16beda

姓名(Name):cr173
序列号(Code):ec38d297-0543-4679-b098-4baadf91f983

新建连接
在这里插入图片描述
刚刚安装mysql的你改过的用户名密码
在这里插入图片描述
连接即可可以看到localhost下的所有数据库
在这里插入图片描述

三 补充

3.1 常用的数据库命令

net start mysql – 开启服务

连接数据库:mysql -u root -p – 回车后加密码,
2.查看数据库:show databases
3.创建数据库:create database dbname
4.切换数据库:use dbname
5.查看所有表:show tables
6.修改数据库:alter database dbname character set utf8
7.删除数据库:drop database dbname

net stop mysql # 关闭服务

sql语言中 – 是单行注释(两个-),是多行注释

3.2 基本操作

3.2.1 常用的sql语言命令

创建表:create table tbname(id int, name varchar(20), sex char(1)); # 数字代表位数
2.查看表信息:desc tbname; – 查看表字段
3.查询数据:select * from tbname;
4.插入数据:insert into tbname (字段名) values (字段值); – insert into tbname (id, name, sex) values (1, ‘小明’, 0);
5.修改数据:update tbname set name=‘小明’, age = 2 where id = 3; – set后修改多个加逗号,指定id的,不指定所有的都要被改
6.删除数据:delete from tbname where id = 3; – 小心where的限定条件,不然全删了
7.修改表(添加字段):alter table tbname add achievement double(5, 2); – achievement 是字段名
8.修改表(改变字段):alter table tbname change name username varchar(20) – name是字段名
9.修改表(删除字段):alter table tbname drop name
10.删除表:drop table tbname

3.2.2 sql语句示例

-- 下面是一个完整的例子CREATE TABLE students (id INT,student_name VARCHAR(20),sex CHAR(1),age INT,achievement DOUBLE(5, 2),team_id INT,graduation_data DATE);INSERT INTO students VALUES (1, 'XiaoMing',0,7,100,1,'2022-9-26');INSERT INTO students VALUES (2, 'XiaoHong',1,0,199,1,'2022-9-26');INSERT INTO students VALUES (3, 'XiaoLiang',0,15,60,2,'2022-9-26');INSERT INTO students VALUES (4, 'XiaoZhang',0,10,88,2,'2022-9-26');INSERT INTO students VALUES (5, 'XiaoLi',1,2,110.5,3,'2022-9-26');INSERT INTO students VALUES (6, 'XiaoLiu',0,6,30,3,'2022-9-26');INSERT INTO students VALUES (7, 'ZhangSan',0,3,NULL,4,'2022-9-26');INSERT INTO students VALUES (8, 'Wangwu',0,6,50,4,'2022-9-26');INSERT INTO students VALUES (9, 'XiaoMing',0,6,40,4,'2022-9-26');INSERT INTO`students` students VALUES (10, 'XiaoEr',0,6,40,NULL,'2022-9-26');-- select只查询数据库返回值,并不会对本身的数据库进行更改SELECT * FROM studentsSELECT id, student_name, sex FROM students; -- 只选择那几列SELECT student_name, age+18 AS '18_years_later' FROM students; -- 给age的数值都加了18,字段名变成18_years_later,(AS可以省略)-- 按条件查询SELECT student_name, age FROM students WHERE age >= 3 AND age <= 15 -- where后可以简写为 BETWEEN 3 AND 15SELECT student_name, age FROM students WHERE age <> 6  -- <>表示不等于,直接使用!=也是可以的SELECT * FROM students WHERE achievement IS NULL;SELECT * FROM students WHERE age = 3 OR age = 10;SELECT * FROM students WHERE age IN (3, 15, 18); -- or SELECT * FROM tbname WHERE NAME LIKE '%x%';  -- 字段包含x的内容,'%x',分别是'x%'以x结尾,以x开头-- 排序SELECT * FROM students ORDER BY achievement; -- 通过achievement对students表数据升序排序SELECT student_name, achievement FROM students ORDER BY achievement DESC;  -- 默认不加按照升序排列ASC,降序末尾加DESCSELECT student_name, achievement FROM students WHERE achievement >= 60 ORDER BY achievement DESC;  -- 加了条件筛选出来再排SELECT student_name, age, achievement FROM students ORDER BY age, achievement DESC;  -- 根据多个规则排序时,用逗号隔开,根据先后顺序排,且没加就是ASC,表示先按照age升序,按照achievement降序

3.2.3常用函数

-- 常用函数SELECT student_name,LOWER(student_name) FROM students;  -- 把student_name的所有值转换为小写,并且显示为了LOWER(student_name)SELECT student_name,UPPER(student_name) '转换为大写' FROM students;  -- 可以取别名,不然默认是UPPER(student_name)SELECT SUBSTR(student_name, 5, 2) FROM students; -- substr(开始,长度)截取的字符串即 substringSELECT student_name FROM students WHERE SUBSTR(student_name, 5, 1) = "M";  -- 截取的是M这个字符的student_nameSELECT student_name, LENGTH(student_name) FROM students;  -- 获取student_name长度,默认是student_name旁边length(student_name)显示SELECT student_name, IFNULL(achievement, 0) FROM students; -- 获取achievement,如果是null就变为0 -- 聚合函数SELECT SUM(achievement) FROM students;  -- 计算总成绩SELECT AVG(achievement) FROM students;  -- 求平均成绩SELECT MAX(age) FROM students;  -- 求最大年龄SELECT MIN(age) FROM students;  -- 求最小年龄SELECT COUNT(*) FROM students;  -- 查询学生数量SELECT COUNT(achievement) FROM students;  -- 有成绩的学员综合SELECT COUNT(achievement) FROM students WHERE sex = 0;  -- 查询有成绩的男同学(sex=0)SELECT DISTINCT student_name FROM students;  -- 去掉重复数据显示SELECT COUNT(DISTINCT student_name) FROM students;  -- 统计去除重复后的总数SELECT sex, COUNT(*) FROM students GROUP BY sex;  -- 分组,查询不同性别的人数SELECT team_id, SUM(achievement) FROM students GROUP BY team_id;  -- 按小组计算总成绩SELECT team_id, SUM(achievement) FROM students GROUP BY team_id HAVING SUM(achievement) > 100;  -- 筛选,总成绩大于100的小组-- where 是直接对数据的条进行筛选,having是用在分组后进行筛选-- limit关键字SELECT * FROM students LIMIT 5;  -- 找到前 个学生SELECT * FROM students LIMIT 2,8;  -- 查询第3个元素到第8个元素(即从第2个开始,取8个)SELECT * FROM students ORDER BY achievement DESC LIMIT  5;  -- 学员表中排序成绩前五的学生-- 顺序综合写法SELECT team_id, SUM(achievement)FROM studentsWHEREsex = 0GROUP BY team_idHAVING SUM(achievement) > 100ORDER BY SUM(achievement) DESCLIMIT 2;-- 约束CREATE TABLE teams (id INT,team_name VARCHAR(20))INSERT INTO teams (id, team_name) VALUES (1, '老鹰队');INSERT INTO teams (id) VALUES (2);SELECT * FROM teams;-- 查询发现第二条数据的team_name是空-- 1.所以创建表的时候需要非空约束来保证字段的值不能为空;也就是在后面加一个not nullteam_name VARCHAR(20) NOT NULL-- 也就是DROP TABLE teams;CREATE TABLE teams (id INT,team_name VARCHAR(20) NOT NULL)INSERT INTO teams (id, team_name) VALUES (1, '老鹰队');INSERT INTO teams (id) VALUES (2);  -- 这样插入就会报错,不会成功SELECT * FROM teams;-- 2.默认约束:保证字段即使字段不插入数据,也会有一个默认值team_name VARCHAR(20) DEFAULT '无名队'DROP TABLE teams;CREATE TABLE teams (id INT,team_name VARCHAR(20) DEFAULT '无名队')INSERT INTO teams (id, team_name) VALUES (1, '老鹰队');INSERT INTO teams (id) VALUES (2);  -- 这样插入就不会报错,会有默认值'无名队'SELECT * FROM teams;-- 3.主键约束:保证数据不为空,且唯一id INT PRIMARY KEY AUTO_INCREMENTDROP TABLE teams;CREATE TABLE teams (id INT PRIMARY KEY,  -- id变成主键约束了team_name VARCHAR(20))INSERT INTO teams (id, team_name) VALUES (1, '老鹰队');INSERT INTO teams (id, team_name) VALUES (1, '老虎队');  -- 就会报错了,除非1改成2SELECT * FROM teams;DROP TABLE teams;CREATE TABLE teams (id INT PRIMARY KEY AUTO_INCREMENT,  -- id变成自增的了,注意必须要PRIMARY KEYteam_name VARCHAR(20))INSERT INTO teams (team_name) VALUES ('老鹰队');INSERT INTO teams (team_name) VALUES ('老虎队');  -- 自动增加了SELECT * FROM teams;-- 4.外键约束:限制两个表的关系,一个表的外键必须为另一个表的主键,可以为空FOREIGN KEY(team_id) REFERENCES teams(id)  -- 定义一对多关系SELECT * FROM students-- 如果想要students表里面的team_id和teams表里面的team_id进行一个关联,学生里面的作为外键,teams里面的作为主键DROP TABLE students  -- 先删了之前的学生表,重新创建CREATE TABLE students (id INT,student_name VARCHAR(20),sex CHAR(1),age INT,achievement DOUBLE(5, 2),team_id INT,  -- 仅仅是int,graduation_data DATE,FOREIGN KEY(team_id) REFERENCES teams(id) -- students表中作为外键的字段team_id,关联的主键的那个表teams的主键id);DESC students  -- team_id的位置Key写的是MUL,表示是外键INSERT INTO students VALUES (1, 'XiaoMing',0,7,100,1,'2022-9-26');INSERT INTO students VALUES (2, 'XiaoHong',1,0,199,1,'2022-9-26');INSERT INTO students VALUES (3, 'XiaoLiang',0,15,60,2,'2022-9-26');INSERT INTO students VALUES (4, 'XiaoZhang',0,10,88,2,'2022-9-26');SELECT * FROM students-- 这个时候插入下面的要报错,因为外键插入了主键不含有的值3,4(外键的约束)INSERT INTO students VALUES (5, 'XiaoLi',1,2,110.5,3,'2022-9-26');INSERT INTO students VALUES (6, 'XiaoLiu',0,6,30,3,'2022-9-26');-- 所以必须要再加入值才能添加成功INSERT INTO teams (team_name) VALUES ('老猫队');INSERT INTO teams (team_name) VALUES ('老熊队');INSERT INTO students VALUES (5, 'XiaoLi',1,2,110.5,3,'2022-9-26');INSERT INTO students VALUES (6, 'XiaoLiu',0,6,30,3,'2022-9-26');INSERT INTO students VALUES (7, 'ZhangSan',0,3,NULL,4,'2022-9-26');INSERT INTO students VALUES (8, 'Wangwu',0,6,50,4,'2022-9-26');INSERT INTO students VALUES (9, 'XiaoMing',0,6,40,4,'2022-9-26');INSERT INTO students VALUES (10, 'XiaoEr',0,6,40,NULL,'2022-9-26');  -- 外键可以是null但不能是主键里没有的SELECT * FROM students -- 外键可以是null但不能是主键没有的-- 多对多,关联表-- 创建学生表和教师表CREATE TABLE teachers(id INT PRIMARY KEY AUTO_INCREMENT,teacher_name VARCHAR(20))SELECT * FROM teachers;INSERT INTO teachers (teacher_name) VALUES ("李老师");INSERT INTO teachers (teacher_name) VALUES ("张老师");SELECT * FROM teachers;SELECT * FROM students;-- 右键对students表点改变表在students表勾选id为主键,不然下面创建关系表会报错DESC students-- 创建关系表CREATE TABLE teacher_to_student(id INT PRIMARY KEY AUTO_INCREMENT,  -- 主键teacher_id INT, student_id INT,  -- 两个外键FOREIGN KEY(teacher_id) REFERENCES teachers(id),FOREIGN KEY(student_id) REFERENCES students(id))INSERT INTO teacher_to_student (teacher_id, student_id) VALUES (1,1);SELECT * FROM teacher_to_student-- 多表查询-- 多表不推荐的方式SELECT students.`student_name`, teams.`team_name`FROM students, teams WHERE students.`team_id` = teams.`id`;-- 别名SELECT s.`student_name`, t.`team_name`FROM students s, teams t WHERE students.`team_id` = t.`id`;-- 内连接SELECT s.`student_name`, t.`team_name`FROM students s INNER JOIN teams tON s.`team_id` = t.`id`-- 左外连接SELECT s.`student_name`, t.`team_name`FROM students s LEFT JOIN teams t  -- 就这儿改成leftON s.`team_id` = t.`id`-- 右外连接SELECT s.`student_name`, t.`team_name`FROM students s RIGHT JOIN teams t  -- 就这儿改成rightON s.`team_id` = t.`id`-- 三个表关联SELECT s.`student_name`, t.`team_name`FROM teacher_to_student tsINNER JOIN teachers t ON ts.`teacher_id` = t.`id`INNER JOIN students s ON ts.`student_id` = s.`id`-- 子查询SELECT student_name,achievement FROM students WHERE achievement > (SELECT AVG(achievement) FROM students)

表关系分类

在这里插入图片描述

一对多

在这里插入图片描述

多对多关系

在这里插入图片描述

多表查询的推荐方式

在这里插入图片描述

SQL语言在功能上主要分为如下3大类:

在这里插入图片描述

来源地址:https://blog.csdn.net/lanmy_dl/article/details/126836254

您可能感兴趣的文档:

--结束END--

本文标题: mysql+sqlyog的超详细完整安装+数据库基础知识

本文链接: https://lsjlt.com/news/429752.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mysql+sqlyog的超详细完整安装+数据库基础知识
    目录 一、安装mysql下载解压添加环境变量创建文件启动mysql安装mysql 二、sqlyog安装sqlyog下载 三 补充3.1 常用的数据库命令3.2 基本操作3.2.1 常用...
    99+
    2023-10-12
    mysql 数据库 oracle
  • MySQL基础知识(一)-超详细Windows系统安装MySQL详细教程
    1.简介   原计划,今天这篇想要给小伙伴们讲解一下python操作mysql数据库,但是由于近期换了一台新的电脑,所以一看mysql数据库都没安装,所有才有了这篇文章。尽管网上不乏此类型的文章,但是刚好自己要安装,所以就总结和分享一下下了...
    99+
    2023-08-31
    mysql windows 数据库 软件测试 程序人生
  • MySQL数据库基础知识
    day02 MySQL数据库基础知识一、基础知识概述:    基础决定你这门课程的学习成败!只有学习好这些基础知识以后,你才能真正的运用自如。才能够对数据库有更深入的...
    99+
    2024-04-02
  • 【MySQL】数据库基础知识
    文章目录 一. 什么是数据库二. 为什么要有数据库三. 数据库分类四. 数据库的基本使用1. MySQL安装2. 检查MySQL后端服务器是否启动3. 连接MySQL服务器4. 服务器,数据库...
    99+
    2023-09-03
    数据库 mysql
  • MySQL 数据库的基础知识
    目录1. 认识数据库1.1 数据库和数据结构的关系1.2 为什么需要数据库1.3 数据库的存储2. SQL2.1 介绍2.2 分类3. 数据库的类别3.1 关系型数据库3.2 非关系...
    99+
    2024-04-02
  • MongoDB数据库基础知识整理
    一、NoSQL 了解MongoDB之前先了解一下NoSQL,NoSQL是Not Only SQL的缩写。由提供缺乏SQL关系数据库的严格限制模型的存储和检索技术组成。主要是简化设计、水平扩展以及对数据的可用性进行更精细的...
    99+
    2022-07-07
    MongoDB数据库 基础知识
  • JavaWeb Mysql数据库基础知识
    1、常用命令 1.1安装数据库  以mysql56为例,存放在d盘,打开cmd,依次输入如下命令:(1)d:(2)cd mysql56(3)cd bin(4)mysqld -install即可安装。1.2启...
    99+
    2024-04-02
  • Java基础之数组超详细知识总结
    目录一、一维数组二、二维数组三、总结一、一维数组 1、Java语言中的数组是一种 引用数据类型。不属于基本数据类型。数组的父类是 Object。 2、数组实际上是一个容器,可以同时容...
    99+
    2024-04-02
  • ORACLE数据库安全基础知识
    一、数据字典保护启用数据字典保护,只有SYSDBA用户才能访问数据字典基础表使用show parameters命令来检查参数O7_DICTIONARY_ACCESSIBILITY是否为FALSE。 ...
    99+
    2024-04-02
  • 【MySQL】:超详细MySQL完整安装和配置教程
    🎥 屿小夏 : 个人主页 🔥个人专栏 : MySQL从入门到进阶 🌄 莫道桑榆晚,为霞尚满天! 文章目...
    99+
    2024-01-21
    mysql adb 数据库
  • Redis数据库的基础知识
    【redis是什么】redis是一个开源的、使用C语言编写的、支持网络交互的、可基于内存也可持久化的Key-Value数据库。redis的官网地址,非常好记,是redis.io。(特意查了一下,域名后缀io...
    99+
    2024-04-02
  • MySql数据库基础知识点总结
    本文实例讲述了MySql数据库基础知识点。分享给大家供大家参考,具体如下: 数据库基本操作 1)创建数据库 基本语法: create database 数据库名称 ; 创建应该名称为itcas...
    99+
    2022-05-19
    MySql 数据库基础
  • 汇总MySql数据库基础知识点
    这篇文章主要为大家汇总MySql数据库基础知识点,内容简而易懂,希望大家可以学习一下,学习完之后肯定会有收获的,下面让小编带大家一起来看看吧。本文实例讲述了MySql数据库基础知识点。分享给大家供大家参考,...
    99+
    2024-04-02
  • Linux系统安装mysql数据库(超详细)
    目录 1、准备阶段         2、具体步骤 2.1、卸载mariadb 2.2、上传mysql并解压 2.3、安装mysql 2.4、查看版本 2.5、启动mysql服务 2.6、登录mysql 2.7、修改密码 2.8、配置mys...
    99+
    2023-09-05
    mysql 数据库 服务器 linux
  • 【安装版】mysql数据库安装指南(超级详细)
    电脑是windows,参考下面的安装步骤。 一、下载mysql数据库二、安装mysql (双击msi文件)二、验证是否安装成功 一、下载mysql数据库 进入MySQL官方网站(MyS...
    99+
    2023-09-13
    mysql 数据库 服务器
  • 简单介绍MySQL数据库的基础知识
    下文主要给大家带来MySQL数据库的基础知识,希望这些内容能够带给大家实际用处,这也是我编辑MySQL数据库的基础知识这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。数据库1 、定义数据库,可以简单...
    99+
    2024-04-02
  • MySQL数据库备份的基础知识总结
    本篇内容介绍了“MySQL数据库备份的基础知识总结”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、数据备...
    99+
    2024-04-02
  • MySQL数据库灾备的基础知识总结
    这篇文章主要讲解了“MySQL数据库灾备的基础知识总结”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库灾备的基础知识总结”吧!一、数据备份捷径因为这个方法没有得到官方正式文档的...
    99+
    2023-06-17
  • MySQL数据库基础知识点有哪些
    这篇文章主要介绍“MySQL数据库基础知识点有哪些”,在日常操作中,相信很多人在MySQL数据库基础知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL数据库...
    99+
    2024-04-02
  • MySQL数据库基础回顾【详细】
    目录数据库的de增删改查【CRUD】创建数据库查询数据库修改数据库删除数据库使用数据库综合练习:数据库表的de增删改查【CRUD】数据库里的数据类型:C(Create)R(Retrieve)U(Updat&#...
    99+
    2020-10-20
    MySQL数据库基础回顾【详细】
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作