数据库安装和基本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);

 





posted @ 2019-05-11 10:21  mcc61  阅读(279)  评论(0编辑  收藏  举报