数据库

非原创!!!

一、什么是数据库

数据库(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、

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352

推荐阅读更多精彩内容