zoukankan      html  css  js  c++  java
  • 初识数据库

    数据库概念

    1.随意的把数据存到了一个文件中,数据格式也是千差万别的

     2.软件开发目录规范,规定了数据存放的位置。注意:数据都是保存在本地的。

     3.将保存数据的部分,存到一个公共的地方,所有的用户涉及到数据相关,都必须来这个公共地方查找。

    DBMS:数据库管理系统

    1.关系型数据库

      数据与数据之间是可以有关联和限制的。关系型数据库通常都是表结构,也就意味着你在用关系型数据库的时候,第一步就是确定表结构,每个字段有特定的类型,比如说存名字用字符串、存密码用数字、存生日用日期。常见的库有MySQL, oracle, sqlite, db2, sql server。

    2.非关系型数据库

      通常都是以k,v键值的形式,存储数据。常见的有redis,memcache,mongodb(文档型数据库 非常接近关系型的非关系型数据)

    数据库之MySQL

      mysql的本质就是一款基于网络通信的应用软件,任何基于网络通信的软件,底层都是socket。

      服务端:①基于socket通信;②收发消息;③SQL语句(是一个公共的标准)

      客户端:①基于socket通信;②收发消息;③SQL语句

      补充:MySQL数据库不单单支持MySQL的客户端来操作,也支持其他编程语言直接操作。

      MySQL其实可以把它看成一款支持远程操作文件的软件。其中库  >>>  文件夹;表 >>> 文件;’记录 >>>  文件内一行行的数据叫做一条条的记录。

      在前期MySQL配置的时候,建议使用管理员身份来运行cmd。mysql在初始登陆的时候 是没有密码的,直接回车即可。mysql中的sql语句,是以分号结束的,如果不敲分号,默认你没有输入完。客户端还会让你继续输入。

    MySQL的常用命令

    mysql -uroot -p       #客户端登陆    #如果不输入用户名和密码 默认是访客模式登陆 ,所能用到的功能很少。
    exit;quit;       #客户端退出登陆
    show databases;    #查看所有的数据库。(如果是以管理员登录,里面会显示出mysql库)
    tasklist |findstr + 名称     #查看某个进程
    taskkill /F /PID + 进程号   #通过进程号杀死该进程
    mysqld --install      #将mysqld制作成系统服务

     通过登录修改密码

      没有密码的情况下:
        mysqladmin -uroot -p password 123
      有密码的情况下:
        mysqladmin -uroot -p123 password 123456

      当命令输入错误的时候 可以用c取消前面的命令cancel。

    破解密码

      前提:先将已经启动的服务端给停掉。

      1)跳过用户名和密码的验证功能,然后再启动服务端。

        mysqld --skip-grant-tables 启动服务端 跳过授权表

      2)修改管理员用户对应的密码

        update mysql.user set password=password(123) where user='root' and host='localhost';

      3)关闭当前服务端,重新以校验用户名密码的方式启动

      4)以输入用户名密码的方式,来连接mysql服务端

     数据库的基本操作

     1.库 类似于文件夹:

      增:create database db1;

      查:show databases;    查看所有的文件夹

      show create database db1;    查看单个的文件夹

      改:alter database db1 charset='gbk';   修改编码

      删:drop database db1;  删除库

    2.表   在创建表的时候,需要先指定库。
      指定库: use 库名。查看当前所在的库: select database()

      增:create table userinfo(id int,name char);

      查:show tables;    查看某个库下面的所有的表
        show create table userinfo;  查看某个库下面的单个的表
        desc userinfo; <==> describe userinfo;
      改:alter table userinfo modify name char(32);
      删:drop table userinfo;

    3.记录    先创建一个库或者指定一个已经存在的库,切换到该库下创建表,然后再操作记录。

      create database db1;     创建库
      create table userinfo(id int,name char(32),password int);      创建表

      增:insert into userinfo values(1,'jason',123);   插入单条数据
        insert into userinfo values(1,'jason',123),(2,'egon',123),(3,'tank',123);    插入多条数据

      查:select * from userinfo;   查询所有的字段信息
        select name from userinfo;    查询指定字段信息

        select id,name from userinfo where id=1 or name=tank;    带有筛选条件的字段信息
      改:update userinfo set name='kevin' where id=1;    修改数据的一个字段信息
        update userinfo set name='jason',password=666 where id=1;    修改数据的多个字段

      删:delete from userinfo where id =1;    指定删符合条件的数据
        delete from userinfo;    将表中的数据全部删除

  • 相关阅读:
    20170419数据结构
    20170418 random函数和range函数
    20170418 sum函数、
    20170417嵌套循环
    20170417循环(loop)
    linux 输入输出重定向
    cut 命令-截取文件中指定内容
    read 命令-从键盘读取变量的值
    xargs-命令
    find 在目录中查找文件
  • 原文地址:https://www.cnblogs.com/blue-tea/p/11379047.html
Copyright © 2011-2022 走看看