mysql初识

数据库是什么

数据库:存储数据的仓库

为什么使用数据库

之前用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-winx64in

  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;

原文地址:https://www.cnblogs.com/colorchild/p/14127834.html