数据库

作者: 小赵不在 | 来源:发表于2022-01-29 21:51 被阅读0次

    非原创!!!

    一、什么是数据库

    数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
    每个数据库都有一个或多个不同的API用于创建、访问、管理、搜索和复制所有保存的数据。
    我们也可以将数据直接存储在文件中,但是直接文件中读写数据速度相抵较慢。
    所以我们要使用专门的软件来存储数据(底层还是把数据通过特殊格式的文件存储在硬盘上)。

    二、为什么需要数据库

    1)数据永远保存!!!
    2)速度比较快
    3)查询和管理数据方便

    三、数据库的分类

    数据库主要分为2类:关系型数据库(RDBMS)和非关系型数据库(NOSQL)
    关系型数据库(RDBMS)是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。
    RDBMS即关系数据库管理系统(Relational Database Mangagement System)的特点:

    • 数据以表格的形式出现
    • 每行为各种记录名称
    • 每列为记录名称所定义应的数据域
    • 许多的行和列组成一张表单
    • 若干的表单组成database

    四、下载安装MYSQL

    下载地址:https://dev.mysql.com/downloads/mysql/
    1、

    image.png

    2、


    image.png

    3、下载完成后,将zip文件进行解压


    image.png

    4、


    image.png
    5、用Notepad++或者文本文档打开my.ini文件进行配置
    [client]
    #设置mysql客户端默认字符集
    default-character-set=utf8
    
    [mysqld]
    #设置336端口
    port = 3306
    #设置mysql的安装目录
    basedir=D:\mysql-8.0.28-winx64
    #设置mysql数据库的数据的存放目录MYSQL 8+ 不需要以下配置,系统自己生成即可否则哟可能报错
    #datadir=C:\\web\\sqldata
    #允许最大连接数
    max_connections=20
    #服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
    #创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
    
    image.png

    6、初始化MySQL数据库,并注册MySQL服务
    1、以管理员的身份去打卡cmd命令行工具,切换到MySQL的解压目录下的bin目录


    image.png

    2、初始化MySQL数据库,并注册MySQL服务 命令:mysqld --initialize --console


    image.png
    3、执行完成后,会输出root用户的初始默认密码,我的初始默认密码如图红框所示
    image.png
    4、安装MySQL,命令:mysqld install
    有以下红框中的提示就是安装成功了
    image.png

    5、启动ySQL,命令:net start mysql


    image.png
    6、登录MySQL
    以管理员的身份打开cmd命令行工具,切换到MySQL的解压目录下的bin目录
    登录MySQL,命令:mysql -h 主机名 -u 用户名 -p(mysql -h localhost -u root -p)
    image.png
    image.png

    7、修改MySQL密码
    将初始化的临时密码改为自己的密码
    命令:alter user ‘用户名’@‘主机名’ identified by '新密码';
    alter user ‘root’@‘localhost’ identified by '123456';


    image.png

    8、修改密码成功后,在进行登录


    image.png
    9、配置环境变量
    此电脑——>属性——>高级系统设置——>环境变量 image.png image.png

    五、下载Navicat

    我的百度网盘有下载好的压缩包
    1、打开navicat后——>帮助——>注册——>将key文件中的注册码填入
    2、

    image.png
    3、 image.png
    image.png
    4、Navicat连接MySQL8和之前的版本有所区别
    mysql8之前的版本中加密规则是mysql navicat password,而在mysql8之后的加密规则是caching_sha2_password
    1)解决Navicat8连接MySQL8的问题
    在cmd命令界面(用管理员打开),执行mysql命令
    ①更改加密方式:
    alter user 'root'@‘localhost’ identified by ‘密码’ password expire never;
    ②更改用户密码:
    alter user 'root'@‘localhost’ identified with mysql_native_password by '密码';
    ③刷新权限:
    flush privileges;
    image.png

    六、使用Navicat

    mysql关键字不区分大小写
    1、

    image.png
    2、SQL语句
    1)查询所有的数据库
    show databases;
    2)创建数据库的SQL语句
    格式:
    create database 数据库名 default character set 字符编码 collate 字符编码校验规则
    例如:
    create database demo default character set utf8 collate utf8_general_ci;
    3)修改数据库的字符编码
    格式:
    alter database 数据库名 default character set 字符编码;
    例如:
    alter database demo default character set gbk;
    4)删除数据库
    drop database 数据库名;
    5)切换操作的数据库
    use 数据库名;
    3、表的概念
    表存储数据是以行的形式来存储,一个行数据就一个完成的概念。
    被分解的一个一个单独的信息,我们称之为字段(属性的意思)
    4、字段的数据类型
    ①整型int(存整数的)
    ②浮点型float和double(存小数的)
    float:单精度浮点型,8位精度(4节字符)
    double:双精度浮点型,16位精度(8字节)
    浮点型是存储近似值,不适合存储金钱
    ③定点数(存储精确的数值)
    decimal(m,d)
    定点数,m<65是总个数,d<30且 d<m个小数位
    m:代表有效数字的位数,在1~65之间
    d:代表小数位,在0~30之间,但是同时需要d<m
    ④字符串
    char:固定长度,最多255个字符
    varchar:可变长度,最多65535个字符
    text:可变长度,最多65535个字符
    longtext:可变长度,最多2的32次方-1个字符
    ⑤二进制数据
    保存图片、压缩包/视频......
    这些如果保存到数据库,要先把这些转成二进制的数据再保存到数据库
    这个不太常用,因为我们现在有其他更好的方式来存储这些大的文件

    七、管理表

    mysql关键字不区分大小写
    1、查看当前数据库的所有表
    show tables;
    2、创建表
    create table 表名(字段名 字段类型,字段名 字段类型,......);
    比如:
    CREATE TABLE student(
    id INT(10) NOT NULL,
    name VARCHAR(100),
    age INT(2),
    classes VARCHAR(100),
    PRIMARY KEY(id)
    );
    3、修改表
    1)给表添加一个字段
    alter table 表名 add column 字段名 字段类型;
    2)给表添加多个字段
    alter table 表名 add 字段名 字段类型,add 字段名 字段类型,......;
    3)修改字段数据类型
    alter table 表名 modify column 字段名 字段类型;
    4)修改字段的名称
    alter table 表名 change column 原字段名 新字段名 字段的数据类型;
    5)删除表的一个到多个字段
    alter table 表名 drop column 字段名;
    alter table 表名 drop column 字段名,...,drop column 字段名;
    6)修改表名
    alter table 原表名 rename to 新表名;
    4、删除表
    drop table 表名;
    5、查看表结构
    describe 表名;

    八、管理数据

    1、查询表的所有数据
    select * from 表名;
    2、给表插入数据
    insert into 表名 values (字段1的值,字段2的值...);
    insert into 表名 (字段1,字段2,字段5) values (字段1的值,字段2的值,字段5的值);
    3、修改表数据
    update 表名 set 字段名 = 字段值,字段名 = 字段值,...;
    update 表名 set 字段名 = 字段值 where 字段名 = 字段值;
    4、删除表
    delete from 表名;
    注:如果表中有字段是字段递增类型的,使用delete删除全表后,自动递增的起始点保留(表也仍然保留)。用drop的话就不会保留(连表也会删除掉)。
    delete from 表名 where 字段名 = 字段值;

    九、查询数据

    1、简单查询
    1)查询所有列
    select * from 表名;
    2)查询指定的列
    3)合并列查询
    函数: concat
    ①想在在一列中展示班级姓名,表头是“班级-姓名”格式,内容是班级-姓名(一班-张三),需要使用合并列
    格式:select concat(str1,str2,...) from student;
    例如:select concat(classes,'-',name) '班级-姓名' from student;
    ②查询学生的姓名和他的总成绩,列也支持算数运算
    格式:select name,(成绩1的字段名+成绩2的字段名) '总成绩' from student;
    ③查询常量
    select name,'光明小学' from student;
    ④去重查询
    函数:distinct
    查询班级
    select distinct classes from student;
    2、条件查询
    基本格式:select 字段,字段,...,字段 from 表名 where 查询条件;
    ①比较条件
    符号:

    =      等于
    !=     不等于
    >      大于
    <      小于
    >=    大于等于
    <=    小于等于
    between and   在a和b两个值之间,包含a和b
    

    ②逻辑条件
    符号:

    and   并且
    or    或者
    

    ③判空查询
    符号:

    =''          是空字符串''
    is null      是null值
    is not null  不是null值
    <>           不是,非
    <>''         不是空字符串'',也不是null值
    

    3、

    相关文章

      网友评论

          本文标题:数据库

          本文链接:https://www.haomeiwen.com/subject/dmqnhrtx.html