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

MySQL的概述和基础(学习整理)

程序员文章站 2023-11-15 18:37:34
1. 数据库基本概念 数据库(DataBase,DB)是用来存储和管理数据的仓库。与其他种类存储和管理数据的方式有所不同的是,数据库是兼持久化存储数据、便捷存储管理数据、使用统一的方式操作数据库几个特点为一体,对传统存储管理数据有着较大的优势。 数据库其实是抽象的概念,而数据库软件则是对数据库这种抽 ......

1. 数据库基本概念

  数据库(database,db)是用来存储和管理数据的仓库。与其他种类存储和管理数据的方式有所不同的是,数据库是兼持久化存储数据、便捷存储管理数据、使用统一的方式操作数据库几个特点为一体,对传统存储管理数据有着较大的优势。

  数据库其实是抽象的概念,而数据库软件则是对数据库这种抽象的概念进行的实例,不同的软件公司对数据库不同的理解和设计,提供了多种多样面向不同用户群体的数据库软件。下面是2019年八月和七月以及2018年八月,由知名数据库排行公司db-engines提供的数据库排行榜。

  MySQL的概述和基础(学习整理)

   oracle:目前依旧是行业内的第一,因为其强悍的数据库性能,使得许多大公司不得不依赖oracle提供数据库服务,其使用价格也非常昂贵。因为提供的是大型关系型数据库服务,所以许多中小企业也无需承担高昂的使用费用。

  mysql:mysql是开源免费的小型关系型数据库,被大量中小型企业提供服务,由于mysql提供集群服务的特性,像淘宝之类的超大型网站也采用了mysql数据库。被sun公司收购后,由于sun公司被oracle公司收购,而mysql也成为oracle公司的数据库软件。被oracle收购后,提供了性能更强的、收费的企业版;如果使用社区版进行商用,按照gpl协议,程序的源代码也应该开源。

  sql server:微软公司开发的中型收费数据库,常常被微软系c#、.net开发的系统提供服务。

  db2:ibm公司开发的大型收费关系型数据库,常见在银行系统中使用。

  sqlite:嵌入式的小型/微型关系型数据库,多用在移动端。

 

2. 登陆和退出mysql

  (1) 启动mysql服务,使用管理员身份打开命令提示符。

net start "mysql"

  MySQL的概述和基础(学习整理)

 

   (2) 登陆。如果不写host地址,默认使用本地ip。

    1) 在命令行界面上输入账户和明文密码登陆,会被警告这样使用可能会带来安全威胁,因为不够安全所以禁止使用这种方式。

    mysql -u账户 -p密码

    MySQL的概述和基础(学习整理)

     2) 分别输入账户和密文形式的密码进行登陆。

    mysql -u账户 -p

    MySQL的概述和基础(学习整理)

     3) 连接远程数据库。

  mysql -h远端ip地址 -u账户 -p

    MySQL的概述和基础(学习整理)

    还有一个非简写形式的登陆方式。

    mysql --host=ip地址 --user=账户 --password

    MySQL的概述和基础(学习整理)

 

  (3) 退出mysql,有两种方式,exit和quit都可以。

  MySQL的概述和基础(学习整理)

  MySQL的概述和基础(学习整理)

 

 

  (4) 停止mysql服务,使用管理员身份打开命令提示符。

  MySQL的概述和基础(学习整理)

 

 

3. mysql的目录结构

  (1) 安装目录

    bin:存放着mysql.exe等可执行文件

    data:存放着mysql的日志文件等

    include:存放着一些c语言的头文件

    lib:存放着mysql要用的 jar 包

    share:存放着mysql的错误信息

    my.ini:mysql的配置文件

  (2) 数据目录

    每一个文件夹就是一个数据库,里面的文件就是表,文件的内容就是数据记录。

    mysql:保存了mysql数据库中的核心数据,修改有风险尽量不要修改

    performance_schema:对性能提示做操作的数据库,修改有风险尽量不要修改

    sys(5.7新增自带):源自performance_schema中的数据并将其复杂度降低,使得数据库管理员更好的了解数据库运行情况。

 

4. sql基本概念

  sql(structured query language)是结构化查询语言的英文缩写。其是它是定义了操作关系型数据库的规则。

  标准sql语言可以操作所有的关系型数据库,但是不同的数据库有各自独有的一些语句,这些不通用的语句称之为“方言”。

 

5. sql通用语法规则

  (1) sql语句可以单行或者多行书写。

  (2) sql语句以分号为结束标志。

  (3) 语句可以使用空格和缩进提高可读性。

  (4) sql语句不区分大小写,推荐关键字使用大写,提高可读性。

  (5) 单行注释:“-- 注释内容”sql通用注释方式,不要忽略横线和注释内容中的空格;“# 注释内容”是mysql的独有注释方式,中间的空格可有可无,最好还是有。

  (6) 多行注释:“/* 注释内容 */”sql通用注释方式。

 

6. sql语法分类

  (1) dll(data definition language) 数据定义语言,用来定义数据库的数据库、表、列等。

  (2) dml(data manipulation language) 数据操作语言,用来对数据库表的数据进行增、删、改操作。

  (3) dql(data query language) 数据查询语言, 用来查询数据库中表的数据。

  (4) dcl(data control language) 数据控制语言,用来定义数据库访问权限和安全级别,管理用户。

 

7. sql的数据类型

  (1) 整形:int(整形中最大最常用),tinyint(0~255),smallint(-32768~32767),

      mediumint(-8388608~8388607/0~16777215)

  (2) 浮点型:float(不常用,精度不够高),double(总长度,保留小数位数)(最常用),

      decimal(总长度,保留小数位数)(规定长度精度的浮点型)

  (3) 日期类型:date(yyyy-mm-dd),datetime(yyyy-mm-dd hh:mm:ss),time(hh:mm:ss),

      timestamp(yyyy-mm-dd hh:mm:ss 时间戳,如不赋值则会自动将当前日期填写)

  (4) 字符串类型:varchar(最大字节数)(0~65536),char(最大字节数)(0~255 不推荐使用)

  (5) 文本类型:text(可以容纳65535个字节),tinytext(0~255),mediumtext(0~167772150),

      longtext(0~4294967295)

  (6) 二进制类型:varbinary(字节数)(变长字节),binary(字节数)(定长字节)