数据库的介绍以及基本的操作

数据库的介绍以及基本的操作

1.随意存放在一个文件中的数据,数据的格式千差万别

2.软件开发目录中的db文件夹,存放一个个的文件

一和二都是在本地读取数据

3.将所有的数据存放到一个第三方的公共位置,同一个软件凡是需要操作数据的,就必须去这个共享的位置操作

第三方的公共位置(数据库)

数据库集群:将同一个数据库中的数据,复制到不同的服务器中

4.mysql数据:cs架构软件

1)mysql数据库本质上就是一个基于网络通信的软件

2)所有基于网络通信的软件,底层都是socket

服务端:

基于网络通信

收发消息

客户端:

基于网络通信

收发消息

所有的语言,若想要去操作数据库,拿到服务器ip和port,都必须遵守一套标准的解析指令sql语句

DBSM:数据库管理系统

关系型数据库:

mysql,oracle,db2,sqlserver。。。

表结构:

需要哪些字段

字段是什么类型

字段与字段类型:

name --》 字符串

age ---》整型

非关系数据库:
redis, mongodb。。。

非关系数据库一般以key:value的形式存储

安装数据库

1.下载mysql安装包

2.解压安装包放到D:中

3.添加环境变量

4.以管理员身份去打开cmd,输入mysqld启动服务端,此时会卡主

bin目录下的mysql。exe是启动文件

5.在创建一个cmd时,mysql客户端连接服务端,输入mysql -h 127.0.0.1 -P 密码

mysql初始化时无密码,可以进入游客模式,功能会很少

无密码直接进入 不需要密码

进入mysql服务端:

全写 mysql -h 127.0.0.1 -P 3306 -p 密码

简写 mysql -uroot -p

密码

6.退出数据库客户端

exit;

quit;

这里注意所有的sql语句末尾都要加上;

  • 查看操作系统中是否已经启动mysqld 服务端
    • tasklist | findstr "mysqld"

    • 杀死mysqld进程
      • taskkill /F /PID pid号
    • *****做服务端操作时,必须先以管理员身份打开

    • 数据库的命令:
      • 查看所有数据库:
        • show databases;
    • 制作系统服务
      • 1.必须将已启动的服务端mysqld关掉
      • 2.删掉已经启动过的mysqld的进程
      • 3.输入 mysqld --install ----> 安装mysqld系统服务
      • 4.输入 net start mysqld
    • mysql -u 登录mysql用户名(root) -p 密码
      • 默认自带 root 超级用户, 没有密码
      • 管理员登录
        • mysql -uroot 回车进入
      • 游客登录
        • mysql 回车
    • 修改密码:
      • 默认没有密码的情况下,设置密码
        • cmd>>>: mysqladmin -uroot password 123
      • 有密码的情况下,修改密码
        • cmd>>>: mysqladmin -uroot -p原密码 password修改的密码
        • cmd>>>: mysqladmin -uroot -p123456 password 123
    • 破解密码: 当密码忘记时采用
      • 1.关闭服务端
      • 2.跳过权限启动服务端
        • cmd>>>: mysqld --skip-grant-tables
      • 3.客户端进入游客模式:
        • cmd>>>: mysql

        • update mysql库.user表名 set 字段password=字段password('字段值') where 条件(若条件成立,则修改)user="root";
        • cmd>>>: update mysql.user set password=password('123456') where user="root";

      • 4.重新启动服务端,不要跳过权限认证
        • 先kill掉跳过权限认证启动的服务端进程
        • 再手动去开服服务中的mysql服务即可
    • 设置配置文件:
      • 1.先在mysql目录下 --》 D:\mysql-5.6.40-winx64

      • 2.创建一个名为 “my.ini” 的文件,这个是mysql的配置文件
        • [mysqld]
          character-set-server=utf8
          collation-server=utf8_general_ci

          这个是用python软件连接的客户端

          [client]
          default-character-set=utf8

          mysql软件的客户端

          [mysql]

          可写,可不写这样可以不需要用户名 与密码直接登录mysql

          user='root'

          password=123

          设置默认的字符编码

          default-character-set=utf8

      • 3.重启mysql服务,即修改成功!

    • 数据库基本操作:
      • 库的操作 ---> 类似于文件夹
        • 增:
          语法: create database 库名;
          - create database db1;


        • 语法: show databases; # 查看所有库
          show create database db1; # 查看db1库中的信息


        • 语法: alter database 库名 charset="字符编码类型";
          - alter database db1 charset="utf8";


        • 语法: drop database db1;

      • 表的操作 ---> 类似于文件
        • 操作表前,需要先切换到指定库
          语法: use 库名;
          - use db1;

          查看当前所在的库: select database()


        • varchar与char 都是字符串类型;
          varchar(20)
          语法: create table 表名(字段名 字段类型);
          create table user_info(name varchar(20), age int);


        • show tables; # 查看当前库中所有的表
          desc user_info; # 查看表结构


        • 语法: alter table 表名 modify name varchar(28);
          - alter table user_info modify name varchar(28);


        • 语法: drop table 表名;
          - create table test(id int);
          - drop table test;

      • 记录 的操作 ---> 类似于文件中的一行行数据
        • 增:
          语法: insert into 表名 values('字段类型的数据1', 字段类型的数据1);
          # 插入一条
          - insert into user_info values('tank', 17);

            # 插入多条
            - insert into user_info values('jason', 71), ('sean', 78);
        • 查:
          : 指的是所有
          语法: select
          from 表名; # 查看表中所有的数据
          - select * from user_info;

            # 查看name 字段为 tank 的记录
                - select * from 表名 where 条件;  # 条件成立则查看成功!
                - select * from user_info where name="tank";
          
            # 查看name 字段为 tank 的age字段
                - select age from user_info where name="tank";
          
            # 查看所有的名字:
                - select name from user_info;

        • 语法: update 表名 set 字段名=字段值 where 条件判断; # 若条件成立,则修改成功!

            # 修改age为17的记录中name属性为 handsome
            - update user_info set name='handsome' where age=17;
          
            # 修改age>16的记录 中name属性为 d_sb
            - update user_info set name='d_sb' where age>16;
        • 语法: delete from 表名;
          # 清空表记录,不提交,可恢复。
          - delete from user_info;

          语法: truncate table 表名;
          # 删除,不可恢复
          - truncate table user_info;

你可能感兴趣的:(数据库的介绍以及基本的操作)