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; # 没有条件就全改
  • 相关阅读:
    Android OpenGL ES 2.0 (四) 灯光perfragment lighting
    Android OpenGL ES 2.0 (五) 添加材质
    冒泡排序函数
    javascript object 转换为 json格式 toJSONString
    Liunx CentOS 下载地址
    jquery 图片切换特效 鼠标点击左右按钮焦点图切换滚动
    javascript 解析csv 的function
    mysql Innodb Shutdown completed; log sequence number解决办法
    Centos 添加 yum
    javascript 键值转换
  • 原文地址:https://www.cnblogs.com/linagcheng/p/9628531.html
Copyright © 2011-2022 走看看