欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mysql初识

程序员文章站 2022-08-19 22:10:52
[TOC] 数据库是什么 数据库:存储数据的仓库 为什么使用数据库 之前用excel来进行管理数据,有诸多问题: 电子表格只能处理有限的数据列和数据行,对于数百万玩、数千万等巨大的数据列很难有效地处理 电子表格无法提供安全、方便地权限管理和控制手段 电子表格很难实现多个数据之间地关联 电子表格很难实 ......

数据库是什么

数据库:存储数据的仓库

为什么使用数据库

之前用excel来进行管理数据,有诸多问题:

  • 电子表格只能处理有限的数据列和数据行,对于数百万玩、数千万等巨大的数据列很难有效地处理
  • 电子表格无法提供安全、方便地权限管理和控制手段
  • 电子表格很难实现多个数据之间地关联
  • 电子表格很难实现并发控制、增量维护等管理方式

这些问题,数据库都能解决,数据库是一种有效地管理大量的、安全的、并发的、关联的、一致的数据管理工具。

数据库的分类

关系型数据库

关系数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。

也就是说对于每一列的数据类型会有约束。

典型的关系型数据库:

  • mysql、 mariadb
  • oracle 甲骨文公司,收费昂贵
  • sql server 微软出品
  • sqlite 小型的文件数据库

非关系型数据库

  • memcache
  • mongodb
  • redis

非关系型数据库以key-value的形式存储数据

区别

关系型数据库,把数据存在硬盘中
非关系型数据库, 把数据存在内存中

mysql的架构

类似于socket的客户端和服务端

流程:

  1. mysql服务端先启动,监听在一个特定的端口,默认是3306
  2. mysql客户端连接服务端
  3. mysql客户端就可以发出相关的操作命令,去操作服务端储存的数据

mysql的安装(windows)

  1. 官网下载之后5.7版本的
  2. 解压到指定目录 如c:\mysql-5.7.28-winx64
  3. 添加环境变量 ,在系统环境变量path添加c:\mysql-5.7.28-winx64\bin
  4. 初始化 mysqld --initialize-insecure # 创建data目录,用来存储数据库
  5. 启动mysql服务
    • 可以在cmd(win10需要管理员权限)中运行mysqld --install 安装服务
    • 或者在win10服务中启动mysql
  6. 启动mysql客户端并连接mysql服务
    • mysql -u root -p
  7. 修改mysql密码
    • mysqladmin -uroot -p '原密码' password '要修改的密码'

常用的参数:

-u   user 用户名
-p   password 密码
-h   host主机名或ip    mysql -h 192.168.1.1 -uroot -p
-p   端口 默认是3306   mysql -h 192.168.1.1 -p 3306 -uroot -p

忘记密码:

先关闭mysqld服务   net stop mysql
在cmd中执行:  mysqld --skip-grant-tables   
再开一个cmd执行: mysql -uroot -p   此时不需要输入密码
执行sql语句: update mysql.user set authentication_string=password('') where user='root';

重启mysql服务

数据库服务器、数据管理系统、数据库、表、记录的关系

  • 数据库服务器:运行数据库管理软件
  • 数据库管理软件:管理数据库,如mysql
  • 数据库:用来组织表,相当于win系统中文件夹的概念
  • 表:即文件,用来存放多条记录

初始mysql

操作数据库

增:

create database 数据库名称 charset utf8;  # 字符集默认时latin1

数据库命名规范:

  • 可以由字母、数字、下划线、@、#、$
  • 区分大小写
  • 具有唯一性
  • 不能使用关键字如 select create
  • 不能单独使用数字
  • 最长128位

删:

drop database 数据库名称;

改:

数据库删除了再添加

线上环境下,不能直接删除数据,再删除之前需要进行备份

查:

show database;   # 查看数据库
use 数据库名称

操作数据表

创建表:(表是二维的,要有字段)

mysql> create table setcreed(
    -> id int, 
    -> name varchar(20)
    -> );

查看表:

mysql> show tables;

删除表:

mysql> drop table setcreed;

查看数据表结构:

mysql> desc setcreed;

或者

mysql> show create table setcreed;

数据相关

数据类型

  • 常用数据类型如下:
    • 整数:int, bit
    • 小数:decimal
    • 字符串:varchar, char
    • 日期时间:date, time, datetime
    • 枚举类型(enum)
  • 特别说明的类型如下:
    • decimal表示浮点数,如decimal(5, 2)表示共存5位数、小数占2位
    • char表示固定长度的字符串,如char(3),如果填充'ab'时会补一个空格为'ab '
    • varchar表示可变长度的字符串,如varchar(3),填充'ab'时就会储存ab
    • 字符串text表示储存大文本,当字符大于4000时推荐使用
    • 对于图片、音频、视频等文件,不存储在数据库里,而是上传到服务器中,然后在表中存储这个文件的url

单表中数据的增、删、改、查

  • insert 插入数据
mysql> insert into setcreed(id,name) values(2, 'neo'),(3, 'cwz');

insert 另一种方式插入数据:

mysql> insert into setcreed set id=4, name='soso';
  • 查看表中数据

select 查询方法:

mysql> select * from setcreed;

# * 表示查看所有内容

查询后面可以跟条件:

mysql> select * from setcreed where id<3;
  • update更新数据
mysql> update setcreed set name='qwe' where id=3;
  • delete 删除数据
mysql> delete from setcreed where id=4;