zoukankan      html  css  js  c++  java
  • 数据库概念

    一、数据库概念

      MySQL:用于管理文件的一个软件(两个程序)

      服务端软件

        socket服务器

        本地文件操作

        解析指令

      客户端软件

        socket客户端

        发送指令

        解析指令

      mysql只是一种能够帮助我们管理数据的软件,还有其他类似的软件也是通过发送指令来帮你管理数据库

      其他类似软件:

        关系型数据库:sqlite,db2,oracle,sql server,access,MySQI

        菲关系型数据库:mongodb,redis

      总结:mysql就是帮助我们远程在文件上做相应操作的

    二、MySQL的安装

      mysqld服务端

      mysql客户端

      软件目录结构初识

      终端最好以管理员身份运行

      切换到mysql目录下启动mysqld服务端(阻塞,监听地址,固定的ip和端口)

    cd D:mysql56
    D:

      新开cmd窗口启动mysql客户端

      链接mysql:

      mysql -h 127.0.0.1 -P 3306 -uroot -p 密码不输,直接回车

      如果是在本机登录mysqld服务器,可以简写为mysql -uroot -p

      客户端服务端请求流程分析

      show databases诠释文件夹和库概念

      环境变量配置

      系统服务制作(制作之前一定要先把mysql关闭)

    # 查看mysqld进程
    tasklist |findstr mysqld
    # 杀死mysqld进程
    taskkill /F /PID 'PID号'

      将mysqld这款软件做成系统服务软件

    mysqld --install

      查看计算机当前运行程序数

    services.msc

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

    mysqladmin -uroot -p password "123"
    
    # 第一次修改完密码以后,之后还修改密码需要
    mysqladmin -uroot -p123 password "123456"
    # 为了后续调试方便,这里把密码设为空值
    mysqladmin -uroot -p123 password "新密码"

      破解密码

        先关闭mysqld服务器

        以跳过授权表的方式在命令行中启动mysqld服务端

    mysqld --skip-grant-tables

        客户端直接

    mysql -uroot -p

        修改管理员密码

    update mysql.user set password=password("123") where user="root" and host="localhost";
    flush privileges;  # 刷新权限

        命令行杀死mysqld服务

    tasklist |findstr mysqld
    taskkill F PID 'PID'

        服务管理正常启动mysqld

    四、统一字符编码

      mysql命令:"s"查看编码

      修改配置文件,执行时会自动查找my.ini文件

      mysql不输用户名和密码,会默认以游客模式登陆,不好!

    # my.ini配置文件特点
    [mysql]
    #终端输入mysql打头的命令就会加载下面的配置
    username='root'  # 演示确实加载改文件,但是username叫user才正确
    password = '123'
    [mysqld]

      通用配置

    [mysqld]
    character-set-server=utf8
    collation-server=utf8_general_ci
    
    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8

      mac系统

      finder中切换到默认安装路径下/usr/loacl/mysql

      下面就是一大堆文件目录

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

    五、基本sql语句

      对数据的增删改查

      sql书写错误,只要没加分号,可以加c使前面的sql语句失效

      针对文件夹的(库)

    #
    create database db1 charset utf8;
    #
    alter database db1 charset gbk;
    #
    show databases;
    show create database db1;
    #
    drop database db1;

      针对文件的(表)

      文件首先需要在文件夹下面,所以在操作文件之前,应该先确定操作的是哪个文件夹下面的文件

    # 切换文件夹
    use db1;
    select database();  # 查看当前所在的库
    #
    create table t1(id int,name char);  # 创建出来的可能是多个文件,解耦管理
    #
    alter table t1 modify name char(16);
    #
    show tables;
    show create table t1;        # 查看表的详细信息
    describe t1; == desc t1;  # 查看表结构
    #
    drop table 

      针对(记录)

    #
    insert into db1.t1 values (1,'egon'),(2,'kevin'),(3,'jason');  # into可加可不加,db1可以不指定,默认就是在当前库下
    #
    update db1.t1 set name='DSB' where id > 1;
    update db1.t1 set name='DSB' where id = 2 or id = 3;
    #
    select id,name from db1.t1;  # db1可不指定,默认当前库下
    select * from t1;
    #
    delete from db1.t1 where id >3;
    delete from db1.t1 where name='egon'  # 这里注意如果少了一个引号,后面无论敲什么都没有用了需要将引号补全
  • 相关阅读:
    轻奢侈品_百度百科
    什么是轻奢风?_百度知道
    Nitrous.IO融资665万美元 帮助开发者省去配置调试等工作-CSDN.NET
    Intro to Computer Science Class Online (CS101)
    (92) Web Crawling: How can I build a web crawler from scratch?
    zombie-phantom
    How to choose between zombie.js and PhantomJS for automated web testing? [closed]
    Zombie.js Insanely fast, headless full-stack testing using Node.js
    (92) Is there a better crawler than Scrapy?
    tpopela/vips_java
  • 原文地址:https://www.cnblogs.com/yljbky/p/11364314.html
Copyright © 2011-2022 走看看