1. 数据库基本概念

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

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

  

  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"

  

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

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

    mysql -u账户 -p密码

    

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

    mysql -u账户 -p

    

    3) 连接远程数据库。

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

    

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

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

    

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

  

  

  (4) 停止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(字节数)(定长字节)

MySQL的概述和基础(学习整理)的更多相关文章

  1. Linux基础学习整理

    linux学习记录 下载地址 centos 下载地址: 网易镜像:http://mirrors.163.com/centos/6/isos/ 搜狐镜像:http://mirrors.sohu.com/ ...

  2. 【shell脚本】 变量基础学习整理

    1.linux系统环境 echo 'echo /etc/profile ' >> /etc/profile echo 'echo /etc/bashrc' >> /etc/ba ...

  3. javascript 基础学习整理 二 之 html对象总结,参考W3C

    Anchor 对象 更改一个链接的文本.URL 以及 target 使用 focus() 和 blur() 向超链接添加快捷键 Document 对象 使用 document.write() 向输出流 ...

  4. javascript 基础学习整理

    1. javascript是动态语言,脚本语言,弱类型语言. 2. javascript代码在html文件中的位置安排,放在<body></body>内部与外部的区别.如何引用 ...

  5. MVC零基础学习整理(一)

    1.Mvc程序的启动页的设置:修改程序的Global.asax文件

  6. 慕课网Python基础学习整理

    # -*- coding: utf-8 -*- """# Python的注释以 # 开头,后面的文字直到行尾都算注释;多行注释开头3个 " 结尾3个 " ...

  7. Java基础学习笔记总结

    Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...

  8. Mysql基础学习第二天

    Mysql基础学习第二天 函数 函数:是指一段可以直接被另一段程序调用的程序或代码. 字符串函数 数值函数 日期函数 流程函数 字符串函数 MySQL内置很多字符串函数,常用的几个如下: 函数 功能 ...

  9. 只要9.9元!零基础学习MySQL

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 导语 经过一段时间的筹备和整理,万里数据库<零基础学习MySQL>课程正式在腾讯课堂上线了. 课程地址:htt ...

随机推荐

  1. pcntl

    <?php function my_pcntl_wait($childProcessCode){ $pid = pcntl_fork(); if($pid>0){ pcntl_wait($ ...

  2. Linux上使用trash回收机制来替换rm命令

    因为我们日常使用的rm 命令没有恢复机制,删除了文件就找不到了,往往重要的文件,我们要特别小心才对,但是有时还是避免不了我们的误操作.可能会造成很大的影响. 本博文简单介绍一下,用trash命令仿照W ...

  3. Mysql中的锁机制-转载

    原文:http://blog.csdn.net/soonfly/article/details/70238902 锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的 计算资源(如 ...

  4. [Selenium3+python3.6]自动化测试2-入门

    参考http://www.cnblogs.com/yoyoketang/p/6123890.html #coding=utf-8 #Import webdriver time module from ...

  5. jade-for-each-while

    if else还是for循环,在jade里面都是可执行的代码 for循环 - var lession = {course:'jade', level:'high'} - for (var k in l ...

  6. Ubuntu系统---系统驱动丢失、Kernel内核卸载、禁止更新

    Ubuntu系统---系统驱动丢失.Kernel内核卸载.禁止更新 一早开机发现,ubuntu字体异常,字体很大,直接反应是驱动坏了.一查,确实丢失英伟达驱动,为什么呢?莫名的消失.想知道:1.英伟达 ...

  7. java-集合处理数据的效率差异

    先给结论,ArrayList数组结构的,插入和删除耗时长,get(index)耗时短. LinkedList是链表结构的,插入和删除耗时短,get(index)耗时长. 常用的几种集合,ArrayLi ...

  8. IP分组

    IP 分组为了更准确地讨论 I n t e r n e t协议处理,我们必须定义一些名词.图 显示了在不同的I n t e r n e t层之间传递数据时用来描述数据的名词.我们把传输协议交给 I P ...

  9. Flask实现简单的群聊和单聊

    Flask是使用python写的一个简单轻量级的框架,今天我们使用Flask实现一个简单的单聊和群聊功能 . 主要思路 : 前端登录聊天室,聊天室信息包含用户的登录信息,相当于一个登录功能,会把这个信 ...

  10. BZOJ 3884——欧拉降幂和广义欧拉降幂

    理论部分 欧拉定理:若 $a,n$ 为正整数,且 $a,n$ 互质,则 $a^{\varphi (n)} \equiv 1(mod \ n)$. 降幂公式: $$a^b=\begin{cases}a^ ...