zoukankan      html  css  js  c++  java
  • 初识数据库

    初识数据库    >>>思维导图>>>中二青年

    数据库概念

    SQL能干嘛呢?它就是一款软件,安装在任何一台计算机或者服务器上的时候,只要告诉它擦混关键一个文件,新增一个数据,删除一个数据,它就能帮我去做想要的操作。SQL就是用来帮我们操作文件的。

    软件目录开发规范规定了数据的存放位置,但是这样的存取操作都是在本地存取数据,无法基于互联网通信,所以我们需要保存数据到一个公共的地方,所有的用户涉及到数据相关都必须来这个公共地方查找。

    MySQL的本质就是一款基于网络通信的应用软件,任何基于网路通信的软件,底层都是socket

    服务端-基于socket通信-收发消息-SQL语句(是一个公共的标准)
    客户端-基于socket通信-收发消息-SQL语句(是一个公共的标准)
    ps:MySQL不仅支持MySQL的客户端来操作,也支持其他编程语言直接操作,但不同编程语言操作的语法都不一样

    MySQL其实可以把它看成一款支持远程操作文件的软件

    一些数据常用的名词例如

    库 >>> 文件夹
    表 >>> 文件
    记录 >>> 文件内一行行的数据叫做一条条的记录
    表头 >>> 表格的第一行数据
    字段 >>> 字段名+字段类型

    DBMS:数据库管理系统

    数据库分为关系型数据库和非关系型数据库

    关系型数据库

        关系型数据库就是数据与数据之间可以有关联和限制

        关系型数据库通常都是表结构,也就意味着你在用关系型数据库的时候第一步就是确定表结构

        常见的关系型数据库:MySQL,oracle,sqlite,db2,sql server等

    非关系行数据库

        通常都是以k,v键值的形式 存储数据

        常见的非关系型数据库:redis,memcache,mongodb(文档型数据库,非常接近关系型的非关系型数据)

    MySQL安装

    软件目录初识

    官网下载MySQL社区版后解压查看文件目录,bin目录下含有:

    mysqld.exe服务端

    mysql.exe客户端

    cmd启动服务端与客户端

    首先切换到bin目录下再执行命令,终端建议使用管理员身份运行,通过win+r启动的是普通用户

    启动mysqld

    启动mysql

    如果不输入用户名和密码 默认是访客模式登陆  所能用到的功能很少
    mysql -h 127.0.0.1 -P 3306 -uroot -p
    可以简写:mysql -uroot -p
    mysql在初始登陆的时候 是没有密码的 直接回车即可
    mysql中的sql语句 是以分号结束的 不敲分号 默认你没有输入完客户端还会让你继续输入,此时可输入;补全sql语句并执行
    当命令输入错误的时候  可以用c取消前面的命令  cancel
    客户端退出登录:exit 或 quit
    查看某个进程:tasklist |findstr 名称
    杀死进程:taskkill /F /PID 进程号

    环境变量配置

    将启动文件所在的路径添加到系统的环境变量中

    注意:配置完之后一段要重新启动mysql服务端及cmd终端

    此时再使用cmd启动mysql就不需要切换到bin录下了

    系统服务制作

    制作系统服务 你的cmd终端一定要是管理员身份

    mysqld --install

    制作完成即可通过services.msc启动关闭mysql服务了

    修改密码与破解管理员密码

    修改密码

    # 没有密码的情况下:
    mysqladmin -uroot -p password 123
    # 有密码的情况下:
    mysqladmin -uroot -p123 password 123456

    破解密码

    先将已经启动的服务端停掉

    1.跳过用户名和密码的验证功能 启动服务端

    # 跳过授权表启动服务端:
    mysqld --skip-grant-tables

    2.修改管理员用户对应的密码

    update mysql.user set password=password(123) where user='root' and host='localhost';

    3.关闭当前服务端  重新以校验用户名密码的方式启动

    4.正常以用户名密码的方式 连接mysql服务端

    统一字符编码

    配置文件

    s查看 mysql服务端简单配置

    通常情况下配置文件的后缀都是ini结尾

    mysql自带的配置文件不要修改

    但是你可以新建一个配置文件 my.ini

    mysql服务端在启动就会自动加载你的my.ini配置文件内的配置

    修改字符编码通用配置

    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
     
    [client]
    default-character-set=utf8
     
    [mysql]
    user='root'
    password=123
    default-character-set=utf8

    mac系统需finder中切换到默认安装路径下/usr/local/mysql

    配置文件是my.cnf,没有ini等windows上的配置文件

    基本sql语句

    对库的操作

    #
    create database db1; 
    #
    show databases;  # 查所有 
    show create database db1;  # 查单个 
    #
    alter database db1 charset='gbk';  # 修改编码 
    #
    drop database db1;  # 删库

    对表的操作

    在创建表的时候,需要先指定库

    use dbname  # 指定库
    select database()  # 查看当前虽在的库
    #
    create table userinfo(id int,name char);
    #
    show tables;  # 查看某个库下面的所有的表
    show create table userinfo;  # 查看表的详细信息
    desc userinfo;    <==> describe userinfo;  # 查看表结构
    #
    alter table userinfo modify name char(32);
    #
    drop table userinfo;

    对记录的操作

    #
    insert into userinfo values(1,'jason',123);  # 插入单条数据
    insert into userinfo values(1,'jason',123),(2,'egon',123),(3,'tank',123);  # 插入多条数据
    #
    select * from userinfo;  # 查询所有的字段信息
    select name from userinfo;  # 查询指定字段信息
    select id,name from userinfo where id=1 or name=tank;  # 带有筛选条件的字段信息
    #
    update userinfo set name='kevin' where id=1;  # 修改数据的一个字段信息
    update userinfo set name='jason',password=666 where id=1;  # 修改数据的多个字段
    #
    delete from userinfo where id =1;  # 指定删符合条件的数据
    delete from userinfo;  # 将表中的数据全部删除

    END

  • 相关阅读:
    hdoj_2553N皇后问题
    poj_2676
    poj_1836Alignment
    PKU ACM 搜索总结
    POJ_1426Find The Multiple
    jQuery Ajax之$.get()方法和$.post()方法
    jQuery Ajax之$.get()方法和$.post()方法
    使用jquery简化ajax开发
    jquery ajax全解析
    jQuery的一些特性和用法:
  • 原文地址:https://www.cnblogs.com/renvip/p/11366487.html
Copyright © 2011-2022 走看看