栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

数据库(MySql 8.0)详细学习笔记

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据库(MySql 8.0)详细学习笔记

1,下载与安装

下载链接:https://dev.mysql.com/downloads/mysql/

打开如下图:

 (标注一:选择操作系统版本

      标注二:Installer安装方式

       标注二:下载压缩包,简单配置后 可使用)

这里我们选择标注二的安装方式,点开二后:

 (标注一:同上

    标注二:区别是第一个相当于下载一个引导程序再下载相关资源,第二个是直接一步到位。)

这里我们选择第二个:

 意思是有这个账号的可以登陆下载,也可以直接点:No thanks,just start download开始下载 。

(注:如果想选择其他历史版本:

 圈部分点开:

 选择后下载即可

(1)安装

1,找到下载的文件,双击:选择是(会有点慢)

2,选择自定义,next

3,点击红圈的加号,出现下载版本后点击圈里面箭头

 4,选择安装位置和文件存放位置

选择横线一,出现横线二,点开:

 (注意:可以选择非C盘,路径不能出现中文或者空格)

若出现警告信息:点击OK,Yes,next,Excute安装完成。

 点击next,直到出现:

默认即可,若安装了多个数据库,注意端口号不能再是3306

next

next,默认有一个root用户,填写密码即可:下面是添加用户,可添加,也可直接下一步:

 

next,Excute(打满勾就好了)

圆满成功!!!

(2) 在终端或者dos窗口中登录mysql:

添加完环境变量即可:

未配置环境变量前(cmd中可能提示找不到命令) 

 步骤:

(1)找到安装位置下的bin目录(安装步骤中选择的),复制路径:

 (2)右键此电脑,选择属性

 

 选择高级系统设置:

点击环境变量

 

 选择编辑:

 选择新建:

复制安装位置的路径,一路确定。

 圆满成功。

重启终端或者Dos窗口:

Mysql登陆格式:

mysql -u 用户名   -h 主机名(自己电脑:127.0.0.1或者localhost)-P 端口号  -p 密码(这种不会隐藏密码,哈哈)

访问自己电脑时,-h可省略,安装多个版本mysql时,需要用-P选择端口号。

我用着这一种:

mysql -u root -p

 圆满登录!!!!

(注:安装完后也可直接使用mysql自带的登录工具:

 点开,输密码。)

mysql简单使用

1,查看数据库

show databases;

第一次查看mysql中的数据库:包含以下四个,不熟悉不轻易动他!

2,创建数据库

create database 数据库名;

例如:创建一个学生数据库:db_student,然后再查看数据库信息:

create database db_student;

查看数据库的创建信息:

show create database db_student;

 会显示:创建语句,默认编码字符集还有一些其他信息。

3,查看表

表是存在数据库的,所以要查看数据库中的表,可以:

(1)切换数据库后再查看表:

比如查看sys数据库中有哪些表:

#切换数据库:use  数据库名;
use sys;
#查看表:show tables;
show tables;

 (2)查看指定数据库下有哪些表:

#格式:show tables from databaseName;
show tables from sys;

4,创建表

表存放在数据库中,创建表之前一定要先切换数据库,同一个数据库中建多张表不用切换:

比如我们首先将数据库切换到:db_student

#格式:use databaseName;
use db_student;

如果忘记了我们当前使用的是哪个数据库:

方式1:

status;

方式2:

show tables;

方式3:

开始建表:由于刚开始,我们首先创建一张没有约束的表:tb_studentinfo(注意先切换数据库)

create table tb_studentinfo(
sname varchar(20),
Snu int,
sgrade char(3),
score double
);

我们就创建好了一个最简单的空表,可以这样查看表结构:

#desc tableName;
desc tb_studentinfo;

 

同样:

show create table tb_studentinfo;

查看表的创建信息:

 表中面的内容之后会详细介绍:现在我们得到一个空表,需要向其中添加数据:

如何往表中插入数据:

insert into tb_studentinfo(sname,snu,sgrade,score)
    values('张三',1111,'一年级',80);

现在我们就往表中插入了一条信息:

如何查询插入信息:

 

 到此为止,我们简单的过了一遍mysql简单操作流程。详细的内容,含义,操作,后面会依次展开。我们操作的直接对象实质上是表,为了方便学习,我们先向数据库导入一些数据:

如何向数据库中导入数据:

方式一:命令行方式导入

        格式:  source sql文件的路径

#命令行导入数据格式:  source sql文件的路径;

      方式二:图像化工具 导入                     

图形化工具只是提供功能,本质是一样的。

常见工具:

1,Mysql Workbench(Mysql自带,去官网下载)

2,SQLyog

https://webyog.com/product/sqlyog/

3,navicat preminum;

https://navicat.com.cn/

(注:连接时出现

 在终端登录mysql:

执行

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
#修改密码(123456是我新改的密码)

然后登录:输入新密码就可以了。

sqlyog简单使用:

登录以后:

        

 1:是一些数据库,表等基本信息

2:可以写SQL语句,写完的SQL语句,鼠标选择后点击这个按钮就可以执行,下面会显示执行结果。

第一章:绪论

1,基本概念

数据(Data):一切描述事物的记录称为数据。是数据库中存储的基本单位。

数据库(DataBase):存放数据的仓库

        特点:就是我们存储数据不能丢失,方便操作,能够共享

  1. 永久存储
  2. 有组织
  3. 可共享

数据库管理系统(Data Base Management System)

就是使数据库中的数据具有能简单操作,方便共享,不易丢失的一个系统软件,Mysql,SqlServer

主要功能 :

1,数据定义功能:DDL数据定义语言

2,数据控制功能:DCL数据控制语言

3,数据操作功能DML:数据操作语言

数据库系统(DatBase System)

就是一切与数据管理相关的人,数据,机器,软件的统称。

主要特征

1,数据结构化:不针对某一个应用,面向全体企业组织。数据之间是有联系。

2,数据高共享,低冗余,易拓展

3,数据独立性高

        物理独立性:用户的应用程序和数据库中的数据物理存储是相互独立的,4

        逻辑独立性

运算符:

算术运算符

+ - * /  div %   mod

主要针对数值型的数值,在Sql语言中,+没有连接的意思,在进行加法时,非数值型会自动转换为数值型(字母会被视作0,数字仍为数字,NULL参与运算,结果weiNULL)

乘除运算

坟墓为0,运算结果为NULL(DIV表示除法)

取模运算

mod(运算结果与被模数相同)

比较运算符

第一类:

#约束
mysql>
mysql> #约束的定义:
mysql>          #数据完整性:准确性和可靠性
mysql> #实体完整性:同一张表不能出现完全相同的记录
mysql> #字段的完整性:(也叫域的完整性):字段有范围
mysql> #引用完整性:表中的数据一定能找到
mysql> #用户自定义完整性:用户名唯一,密码不为空等做好约束
mysql>
mysql> #约束 :是表级的强制规定!,可在创建表示 规定,也可创完以后规定约束
mysql> #约束是为了数据的完整性,一个强制的限制
mysql> 约束的分类:
    -> ^C
mysql> #约束的分类
mysql> #单列约束与多列约束
mysql> #一个字段与多个字段
mysql>
mysql> #列级约束和表级约束
mysql> #作用范围不同,声明约束放在对应字段后面,成为列级约束,表中所有字段声明完以后在后面约束为表级约束
mysql>
mysql> 约束的作用和功能:
    -> ^C
mysql> #约束的作用
mysql>
mysql> #非空约束:not null
mysql>
mysql>
mysql>
mysql>
mysql>
mysql> #非空约束:
mysql> #创建表时就添加约束
mysql> #查看表中的约束
mysql> #正常的查询语句就可以了
mysql> #not null
mysql> #create table (字段1 not null,字段2,not null);
mysql> #非空约束会影响赋值:如赋NULL会报错,某些字段未赋值也会报错
mysql>
mysql> #创建完以后添加
mysql> #alter table tableName modify 字段 类型 not null
mysql> #删除约束
mysql> #alter table tableName modify 字段 类型 null

基本操作语言:

语法规范:(不是强制的)

  1. 完整的SQL语句以‘;’或者‘/g' '/G'为结束标志(单行可以不加,但规范还是建议遵守,‘;’是最常使用的)
  2. 当语句复杂时建议分行
  3. 一般字符串,时间,日期需用单引号括起来,列的别名使用双引号括起来
  4. 大小写:WIndows下大小写是不区分的,Linux下大小写敏感。规范推荐:数据库名,表名,表的别名,字段名,别名等建议小写。SQL关键字,函数名等建议大写。
  5. 注释:#单行注释     (不能嵌套)-- (单行注释,--后有一个空格)

语法规则:(强制的)

  1. ##
  2. ##
  3. ##
  4. ##
  5. ##

数据导入:

  1. 命令行导入:在终端登录后

              格式:  source sql文件的路径

      2.可视化工具导入:

文件柜(数据库)---文件夹(表)--文件(数据)(如何把文件存放到文件柜且容易找到)

DDL:数据定义语言

  • create:创建语句
    • 语法规则
    1. 数据库名表名不超过30字符,变量名不超过29
    2. 数据库不能同名,同一数据库中表不重名,同意表中字段不能重名
    3. 只能出现A-Z/a-z/_(63种字符)
    4. 字段名建议不与关键字同名
    5. 不同表中的相同字段要保证名字和数据类型不变        

        示例一:创建数据库

方式一:

create database name;(使用默认字符集)

方式二:

create database name character set 'gbk ';(指定字符集)

方式三:

create database if not exists name;(如果存在:就不创建,否则就新建一个,只与名字有关)

混合使用:

create database if not exists name  character set 'utf8 ';

查看创建信息:

show create database name;

查看创建结果:

show databases;

修改数据库(一般不需要改,推荐空数据库时修改)

(1)更改字符集

alter database databasename charactere set ' utf8';

(2)改名

实质是剪切,即删除原来的,建立新的,引入表()

(3)删除数据库

drop database databasename;(不存在就会报错)

drop database if exists databasename;(存在及删除,或者就结束)

示例二:创建表

在创建之前,必须先选择数据库或者切换数据库,在一个数据库中建表不用切换。

use database name';

查看当前使用的数据库

select  database() from dual;

查看指定数据库下的表:

show tables from databasename; 

数据类型:

数据类型类型实例
整数类型INT(INTEGER)
浮点数double
定点数
位类型
日期   date
字符串 varchar
枚举
集合

创表:

方式一:

        create table  tablename(

                                        id  int,

                                        name varchar(10),

                                        riqi date,

                                                                                );

  create table if not exists tablename(

                     

                                               );

查看表结构:

        desc  tablename;

查看创建信息

show create tablename;

方式二:基于现有表创建新表

create table tablename

as

select 字段1 ,字段2 ,字段3 from tablename;

      

  1. alter
  2. drop
  3. rename
  4. truncate

DML:数据操作语言

  1. insert
  2. delete
  3. update
  4. select

查询语句:

基本格式:select 字段1,2,3,4....from  tablename;

查询的不是某个具体表的数据时,可利用伪表(dual)

select 字段1,2,3 from dual;

查询全部:

select * from tablename;

列别名:

把查询结果换一个名字:

三种格式均可以,也可以混合使用。

select 字段1  别名1,2 别名2,3 别名3,4 别名4 from tablename;

select 字段1  as 别名1,2  as 别名2,3 as 别名3,4 as 别名4 from tablename;

select 字段1 “别名1”,2 “别名2”,3 “别名3”,4 “别名4” from tablename;

(使用双引号是规范,’   ‘不规范)

去除重复行:

比如有很多学生,但是之分在三个班,我们查询出来的只需要班级,而不是每个学生都列出来

select  distinct  字段 from tablename;

select  distinct  字段1,2,3  from tablename;(没有意义)

空值(NULL)参与运算:

NULL不等同于0或其他具体的东西,等价于不知道。

NULL参与运算会影响最终结果,结果也为NULL,所以要想法出去null

解决:ifnull(字段,0)如果为null 用0  代替

着重号:··(不是单引号)

当出现字段与关键字,保留字重名,必须添加着重号

查询常数:

select ’ 常数’ 字段 from tablename;(一般该常数不存在表中)

查看表结构:

desc 表名;(显示表中字段信息)

过滤数据

只查询满足某些条件的信息。

过滤条件:where 

select  * from tablename where 字段满足条件;

DCL:数据控制语言

  1. commit
  2. rollback
  3. savepoint
  4. grant
  5. revoke

   (2)配置

下载:官网社区版可免费下载

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1003368.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号