zoukankan      html  css  js  c++  java
  • 数据库安装和基本sql语句

    数据库概念
    
        文件作为数据进行存储,数据格式千差万别
    
        将保存数据的地方统一起来
    
    
    MYSQL---------》一款应用软件
        用来帮你操作文件的
        只要是基于网络通信,底层就是socket
        服务端
            --socket通信
            --收发消息
            --解析命令(sql语句)
        客户端
            --socket通信
            --收发消息
            --解析命令(sql语句)
    
    DBA:数据库管理员
    sql语句优化(耗时不一样)
    
    
    
    ****
    RDBMS:数据库管理系统
    关系型数据库
        存储数据的时候,对于数据有条件限制
        数据与数据之间有关联
        通常都是以表格的方式存储
            第一步需要创建表结构!
        Oracle ,sqlite, db2, sql server,MYSQL,access
    非关系型数据库
        特点:数据存储方式k,v键值对的形式
    
        redis,mongodb,memcache
    
    
    文件夹(库)
    文件(表)   ----》表头:字段
    数据/记录(表记录/表数据)
    
    
    
    MYSQL
    
        安装
    
    
        客户端链接服务端
            1.启动
                服务端
                    mysqld
                客户端
                    mysql -h 127.0.0.1 -P3306 -uroot -p
                    也支持简写
                    mysql -uroot -p
                    让你输入密码不用管,直接敲回车
                sql语句第一条命令:
                    查看所有数据库
                        show databases;   是以;作为结束符号
                注意:输入sql语句的时候,一定要以英文;结束
                如果你输入的sql语句错了不想执行的话,可以在后面跟上c取消执行
                退出mysql
                    exit,quit
    
    1.将mysql启动文件路径添加到环境变量
    
    2.将mysqld制作成系统服务
        查找
        tasklist |findstr mysql
        1.一定要先将mysqld杀死
        taskkill /F /PID 33906  或者taskkill /f /im mysqld.exe   大小写都可以
        2.mysqld --install 将mysqld服务端制作成系统服务(开机自启动)
    
    3.设置密码
        windows下的命令行windows>cmd
            mysqladmin -uroot -p password 123
        #第一次修改完密码之后,之后还需要修改
            mysqladmin -uroot -p123 password 123456
        #为了后续调试方便,这里把密码设置为空值
            mysqladmin -uroot -p123 password '新密码'
    
    4.破解密码
        windows下面的命令行windows>cmd
            1.先关闭服务端
            2.以跳过用户密码认证模式重新启动服务端
            mysqld --skip -grant-tables
            3.以管理员身份登录
            4.修改mysql库里面的user表 mysql>cmd
            update mysql.user set password=password(123)  #相当于全改,所以加限制
    
            update mysql.user set password=password(123) where user=='root' and host=='localhost';
    
            5.先关闭跳过验证的服务端,以正常模式启动服务端
            6.输入用户名密码正常登录
    
    
    5.解决编码问题
        1.在MySQL根目录下新建一个my.ini的配置文件,在里面给i顶加上下面的配置即可设置编码问题
            [mysqld]
            character-set-server=utf8
            collation-server=utf8_general_ci
            [client]
            default-character-set=utf8
            [mysql]
            default-character-set=utf8
        2.重新启动你的mysql,配置才会生效
    ## 基本sql语句
    
    对数据的增删改查
    
    sql书写错误,只要没加分号,可以加c使前面的sql语句失效
    
    * 针对文件夹的(库)
    
      ```python
      #
      create database db1 charset utf8;
      #
      alter database db1 charset gbk;
      #
      show databases;
      show create database db1;
      #
      drop database db1;
      ```
    
    * 针对文件的(表)
    
      文件首先需要在文件夹下面,所以在操作文件之前,应该先确定操作的是哪个文件夹下面的文件
    
      ```python
      # 切换文件夹
      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 t1;
      ```
    
    * 针对(记录)
    
      ```python
      #
      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'  # 这里注意如果少了一个引号,后面无论敲什么都没有用了需要将引号补全
      ```
    
    
    ## 表操作
    
    #### 存储引擎
    
    文件格式有很多种,对应的软件也有很多种txt,pdf等
    
    针对不同类型的文件,需要对应有不同的软件帮助我们去操作
    
    ```python
    # 查看所有的存储引擎
    show engines;
    
    # 查看不同存储引擎存储表结构文件特点
    create table t1(id int)engine=innodb;
    create table t2(id int)engine=myisam;
    create table t3(id int)engine=blackhole;
    create table t4(id int)engine=memory;
    
    insert into t1 values(1);
    insert into t2 values(1);
    insert into t3 values(1);
    insert into t4 values(1);




  • 相关阅读:
    【Python】python3.6中实现同一行动态输出
    【Python】将python3.6软件的py文件打包成exe程序
    【Java】分布式RPC通信框架Apache Thrift 使用总结
    【Java】加载驱动方法
    【Java】Comparable和Comparator接口的区别
    【Java】接口(interface)VS抽象类
    【Ubuntu】PHP环境安装-phpstudy for linux版
    【Ubuntu】xrdp完美实现Windows远程访问Ubuntu 16.04
    【系统设计】会议室预定系统房间预定系统设计
    jmeter场景设计:业务占比
  • 原文地址:https://www.cnblogs.com/mcc61/p/10847847.html
Copyright © 2011-2022 走看看