zoukankan      html  css  js  c++  java
  • 数据库的介绍以及基本的操作

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

    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;

  • 相关阅读:
    minGw编译器记录
    也来小谈jsonP
    [struts2]2.3.14 jsonplugin 存在bug<java.lang.NoSuchFieldException: DEFAULT_PARAM>
    年学习进度简记【2012】
    征服ExtJs那棵树(ExtJs官方开发手册汉语详解TreePanel)
    html 和ExtJs 搭建背景音乐 开发
    复习整理2
    MSChartHelpe
    DataToExcel
    如何将一个类型在FOREACH中使用
  • 原文地址:https://www.cnblogs.com/godlover/p/12017104.html
Copyright © 2011-2022 走看看