zoukankan      html  css  js  c++  java
  • MySQL数据库(一)—— 数据库介绍、MySQL安装、基础SQL语句

    数据库介绍、MySQL安装、基础SQL语句

    一、数据库介绍

    1、什么是数据库

    数据库即存储数据的仓库

    2、为什么要用数据库

    (1)用文件存储是和硬盘打交道,是IO操作,所以有效率问题

    (2)管理不方便

    (3)一个程序不太可能仅运行在同一台电脑上

    # 我们在编写任何程序之前,都需要事先写好基于网络操作一台主机上文件的程序(socket服务端与客户端程序),于是有人将此类程序写成一个专门的处理软件,这就是mysql等数据库管理软件的由来,但mysql解决的不仅仅是数据共享的问题,还有查询效率,安全性等一系列问题,总之,把程序员从数据管理中解脱出来,专注于自己的程序逻辑的编写。

    3、常见的数据库

    #关系型数据库
        数据与数据之间可以建立关联关系(用户数据和购买信息)
            SQLServer 
              仅支持windows
            MySQL
              免费,开源,性能也不差       
            Oracle
              目前最牛逼的数据库,收费很高 
            DB2
              IBM公司,收费的,一般与计算机绑定销售
        
    
    #非关系型数据库
        速度贼快,key value 存取
        MongoDB
        redis
        memcache

    4、数据库相关概念

    (1)数据

    描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字、图片,图像、声音、语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机

    (2)数据库(DataBase,简称DB)

    数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的

    (3)数据库管理系统(DataBase Management System,简称DBMS)

    就是一个软件用来管理库的  C/S程序

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

    记录:1 赵铁柱  10202934 18(多个字段的信息组成一条记录,即文件中的一行内容)-------->表中的一行内容

    表:student,school,class  (即文件)-------->table     

    数据库:mydb(即文件夹)------> database

    数据库管理系统:如mysql(是一个软件)

    数据库服务器:一台计算机(对内存要求比较高)

    二、MySQL下载安装(MySQL5.7版本)

    参考博客有 Windows版 和 Linux版:http://www.cnblogs.com/linhaifeng/articles/7126847.html#_label4

    Windows版

    1.安装(以管理员身份运行命令行)

    # 1. 下载:MySQL 5.7
    https://www.mysql.com/downloads/
    
    # 2. 解压
    如果想要让MySQL安装在指定目录,那么就将解压后的文件夹移动到指定目录
    
    # 3. 添加环境变量
    【右键计算机】-->【属性】-->【高级系统设置】-->【高级】-->【环境变量】-->【在【系统变量】中找到 变量名为 Path 的一行,双击】 --> 【将MySQL的bin目录路径追加到变值值中,用 ; 分割】
    
    # 4. 注册成系统服务(开机自动启动服务)
    在命令行中输入:mysqld --install
    
            注册成服务之后,以后再启动和关闭MySQL服务时,仅需执行如下命令:(exit 或者 quit 也可退出MySQL)
            # 启动MySQL服务
            net start mysql
     
            # 关闭MySQL服务
            net stop mysql
    
    # 5. 登录MySQL(初始化密码为空)      -h 后面写ip地址,本地的位localhost   -P 端口号,MySQL默认为3306   (在本地登录MySQL可以不写 -h 和 -P )
    网络登录:mysql -uroot -p -h192.168.1.1 -P3306
    本地登录:mysql -uroot -p 
    
    # 6. 重新设置密码(更改密码)      mysqladmin.exe 用于更改密码
    设置密码:mysqladmin -uroot -p password 新密码
    更改密码(知道原密码):mysqladmin -uroot -p 旧密码 password 新密码
    
    # 7.登录验证
    安装和环境配置

    2.安装配置完以后设置服务器与客户端的编码(以管理员身份运行命令行)

    如果不设置编码,那么服务器和客户端的默认编码是不一样的,会出现乱码问题。(在登录MySQL以后,输入  s  命令查看服务器与客户端的编码)

    在mysql文件中有一个 my-default.ini 文件,该文件是一个配置文件的模板文件,可以不用理会

    mysql服务启动时会自动查看my.ini文件,并遵循其中的要求

    在 my-default.ini 所在文件夹新建一个 my.ini 配置文件,然后配置
    # 1.在my.ini 文件中添加一下内容
    [mysqld]
    character-set-server = utf8
    collation-server = utf8_general_ci
    [mysql]
    default-character-set = utf8
    [client]
    default-character-set = utf8
    
    # 2. 保存文件
    设置编码

    若是忘记密码,可以重设密码

    • mysql库中有user表存储用户的数据
    # 1. 跳过授权表启动服务器
    在命令行:mysqld -skip-grant-tables
    
    # 2. 客户端无密码登录
    新开一个命令行:mysql -uroot -p
    
    # 3. 在登录以后重设密码(客户端)
    update mysql.user set password=password(新密码) where user="root" and host="localhost";
    
    # 4. 重启服务,验证重设密码是否成功
    View Code

    三、SQL基础

    退出数据库:quitexit

    #1. 操作数据库(文件夹)
            增:create database 数据库名 charset utf8(字符编码);         # 创建数据库
            删:drop database 数据库名;
            查:show databases;           # 查看所有数据库
               show create database 数据库名;       #查看建库的SQL语句
            改:alter database 数据库名 charset gbk(新的字符编码);
                  
    
    #2. 操作表格(文件)
        先进入某一个数据库:use 数据库名;
            增:create table 表名(id int(3),name char(10));       # 创建表格
    删:drop table 表名;
           truncate table 表名; # 清空表中数据 查:show tables show create table 表名;
    # 查看建表sql语句 desc 表名; # 查看表结构(字段) 改:
          改结构:
             alter table 表名 add 字段名 char(3);   alter table 表名 modify 字段名 char(3);   alter table 表名 change 旧字段名 新字段名 char(2);
          改属性:
      alter table 表名 charset gbk(新字符编码); # 修改表的字符编码   alter table 旧表名 rename as 新表名 # 修改表名
    #3.操作数据记录(文件内容): 增:insert into 表名 values(1,'Tom'),(2,'Jack'),(3,'Tony'); # 插入时注意 值得顺序 和 类型必须与表结构一致 删:delete from 表名 where id=1; # 没有条件则删除表中所有内容 查:select * from 表名; 改:update 表名 set name='赵铁柱' where id=2; # 没有条件就全改
  • 相关阅读:
    单变量线性回归
    【记】国奖交流会
    转【研究生第一篇学术论文常犯问题总结】
    this.$confirm里面使用await异步调取接口数据
    margin和padding的值是百分比的时候是怎么计算的?
    原生js实现三级联动下拉框
    两个数组里面的对象元素根据相同的id合并到一个数组
    制作遮罩层的样式
    自定义表单验证方法的使用
    封装获取操作系统和浏览器类型的方法
  • 原文地址:https://www.cnblogs.com/linagcheng/p/9628531.html
Copyright © 2011-2022 走看看