• 数据库及SQL语句由来,重要概念介绍,MySQL安装,启动服务端及连接,初识SQL语句


    数据库

    存储数据的演变过程
    '''
       随意的存到一个文件中,数据格式也是千差万别的,完全取决于我们自己
          小李
          jason | 123 | NB
          小王
          egon - 123 - DBJ
          小红
          tank~123~hecha
    
       软件开发目录规范
          限制了存储数据的具体位置(db目录)
          ---Appname
             ---bin启动文件
             ---conf配置文件
             ---lib公共方法
             ---core业务逻辑(核心代码)
             ---db存储数据
             ---log日志
             ---readme.txt(产品说明)
          假设上述是一个单机游戏
          那么每个人的游戏记录置只会在自己的计算机上面保存
          注册登录的账号也只能在自己的计算机上有效
    
       如何将单机变成联网?
       将所有用户数据存储到数据库服务端,通过网络通信来交互数据;就一台数据库如果挂了就麻烦,所以可以有多台数据库进行备份,其中
       一台挂了影响不是太大,这就叫数据库集群。
    '''
    数据库的本质
    '''
       本质其实就是一款基于网络通信的应用程序
       那其实每个人能可以开发一款数据库软件,因为它仅仅就是一个基于网络通信的应用程序
       也就意味着数据库软件有很多很多
       关系型数据库(存储数据)
          MySQL / oracle / db2 / access / sql server
       非关系型数据库(主要用来做缓存)
          redis / mongodb / memcache...
       关系型:
          数据之间彼此有关系或约束
             女生表和前男友表(一个女生可能对应多个不同前男友)
          存储数据的表现形式通常是以表格存储
             name    password    hobby
             jack    123         read
             mike    123         study
          每个字段还会有存储类型的限制
          比如姓名只能存字符串...
       非关系型:
          存储数据通常都是以k,v键值对的形式
    '''
    MySQL
    '''
       任何基于网络通信的应用程序,底层用的都是socket
       ---服务端
          ---基于socket通信
          ---收发消息
          ---SQL语句
       ---客户端
          ---基于socket通信
          ---收发消息
          ---SQL语句
       MySQL不单单支持MySQL自己的客户端app,还支持其它编程语言来充当客户端操作,如何解决语言沟通的障碍?
          1:让服务端兼容所有的语言(一个人精通多国语言)
          2:采用统一的语言(SQL语句)
    '''

    重要概念介绍
    '''
       库    》》》    文件夹
       表    》》》    文件
       记录  》》》    文件内一行行的数据
    
       表头:表格的第一行字段(name,password,hobby)
       字段:name字段、password字段、hobby字段
       表单:表头除外,下面的信息都叫表单(jack,123,read...)
          name    password    hobby
          jack    123         read
          mike    123         study
    '''
    MySQL的安装
    '''
       TIPS:在IT,一般都不会轻易的使用最新版本的软件;因为新版本可能会出现各种问题(你原本项目跑的好好的,非要画蛇添足更新版本,然后项目崩溃)
       小段子:更新完没事,那么你还是一个普通员工;更新完出事,那么你就是一名'烈士'
       MySQL有很多版本(5.6/5.7/8.0),目前企业里面用的比较多的还是5.6左右
       MySQL下载网站:https://www.mysql.com/ > DOWNLOADS > MySQL Community (GPL) Downloads > MySQL Community Server > Looking for previous GA versions? > 选择对应操作系统即可选择5.7版本进行Download下载
       按照此方式下载,会将服务端和客户端一并下载到本地
       为了学习方便,所以服务端和客户端都在本地启动,后期公司会把服务端专门跑在一台服务器上,所有人基于网络连接服务端操作
    '''
    MySQL服务端与客户端
    '''
       服务端
          bin/mysqld.exe
       客户端
          bin/mysql.exe
       注意:
          安装完后,第一步先添加系统变量Path(windows安装并配置mysql具体教程:https://www.cnblogs.com/alan-lin/p/9966917.html)  # 先安装,再添加系统环境变量,然后设置配置文件,然后初始化MySQL(mysql命令),再进行安装(mysql命令),最后启动MySQL(mysql命令)
    MySQL安装后,先要进行my.ini(没有就新建,放在MySQL安装的目录下(mysql-5.7.35-winx64目录下))配置文件的设置,样式如下:
    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    basedir=C:\Program Files\mysql-5.7.35-winx64 --mysql安装路径
    datadir=C:\Program Files\mysql-5.7.35-winx64\data
    port=3306
    default-storage-engine=INNODB
    [client]
    default-character-set=utf8
    [mysql]
    default-character-set=utf8 在前期配置MySQL的时候,cmd终端尽量以管理员的身份运行 windows+r,输入cmd进入的是普通用户终端,有一些命令是无法执行的 左下角搜索cmd,然后右键点击,选择以管理员身份运行
    '''
    启动
    '''
       cmd终端先切换到mysqld所在的bin目录下,然后输入mysqld即可
       保留原来的cmd窗口,重新打开一个
       常见软件的默认端口号
          MySQL    3306
          redis    6379
          mongodb  27017
          django   8000
          flask    5000
          tomcat   8080
          ...
       MySQL用户端第一次以管理员身份进入是没有密码的,(命令:mysql -h 127.0.0.1 -P 3306 -uroot -p)输入命令直接回车即可
    '''
    sql语句初识
    '''
       1:MySQL中的sql语句是以分号作为结束的标志
       2:基本命令
          show databases;---查看所有库名
       3:连接服务端的命令可以简写
          mysql -uroot -p
       4:当你输入的命令不对,又不想让服务端执行并返回报错信息,可以后面接c取消
       5:客户端退出,退出命令加不加分号都可以执行
          quit
          exit
       6:当你在连接服务端的时候,发现只输入mysql也能连接,但是你不是管理员身份,而只是一个游客模式(游客模式输入show databases;展示的默认库只有两个,而管理员输入show databases;展示的默认库有4个)
    '''
    while True: print('studying...')
  • 相关阅读:
    LVS的DR模式测试案例<仅个人记录>
    awk命令小结
    iptables命令提取总结,包含扩展模块<取自朱双印博客>
    如何配置nginx屏蔽恶意域名解析指向《包含隐藏nginx版本号》
    CentOS升级OpenSSL至OpenSSL 1.1.0f版本<其中有遇到libcrypto.so的问题>
    U-Mail企业邮箱如何导入授权文件
    Linux花生壳使用篇
    windows远程桌面连接时,显示发生身份验证错误,给函数提供的身份无效
    批量屏蔽符合条件的IP地址,支持添加白名单,IP段,增量,大于指定次数的IP
    rsync 定时备份<crontab+backrsync.sh> 简陋版
  • 原文地址:https://www.cnblogs.com/xuewei95/p/15076553.html
Copyright © 2020-2023  润新知