zoukankan      html  css  js  c++  java
  • 数据库概念,安装,基本操作

    数据库:
    数据库就是存储数据的仓库(容器)

    存储数据的方式:
    1.变量 无法永久存储
    2.文件处理 可以永久存储
    文件处理存在的弊端:
    1.文件处理速度慢
    2.文件只能在自己的计算机上读写,无法被共享(局域网除外)

    单台计算机的性能终归是有限的
    1.升级硬件设备 提升幅度有限,垂直扩展
    2.服务器集群,分布式 横向扩展

    一旦把服务器拆分开后,数据就必须能够被不同计算机共享
    必须通过网络,也就是socket

    数据库软件的本质:就是一个基于socket(TCP)的c/s结构的程序

    如果自己实现一个数据软件需要解决的几个问题
    1.一旦数据共享,就存在竞争问题,需要处理锁
    2.不是所有的TCP连接请求都需要接受,得加上安全验证
    3.文件处理带来的效率问题,需要想办法来提高处理速度 (索引)

    有很多现成的数据库软件可以直接使用,又分为两大类
    1.关系型数据库
    该类型的数据 提供某种机制,可以帮你维护 数据与数据之间的关系
    例如:学生数据和班级数据 可以通过其中一方 找到另外一方
    一般都是基于文件实现的
    优点:容量大,可以永久存储
    代表:
    mysql
    oracle
    SQLServer
    mariaDB
    DB2
    sqllite
    共同特征都支持SQL
    结构化,查询语言
    学习数据库的重点也就是学习SQL语句
    2.非关系型数据库
    数据与数据之间是独立的 不存在任何关联关系
    以key:value的形式来存储数据
    一般基于内存
    优点:速度快
    问题:断电丢失

    代表:
    MongoDB
    redis
    memcache

    应该使用哪种类型的数据库?
    应该搭配使用,把数据量大的 存到关系型中, 把经常访问的放到非关系型中
    提高访问速度

    数据库相关的概念
    数据 本质上就是一堆带有含义的符号

    数据记录
    多个数据组成了一条完整记录

    表 本质就是一个文件,里面存放了一堆数据记录

    库 本质就是一个文件夹,里面放了一堆表文件

    DBMS:data base manager system
    数据库管理系统(TCP的服务器)
    负责管理一堆文件夹(即数据库)

    数据库服务器:指的是运行有TCP服务器的程序的计算机

    mysqld是服务器主程序
    mysqld 警告:创建文件失败,权限不足,用管理员权限运行即可
    mysql 是无界面的客户端 需要在CMD运行
    -h 主机地址(ip)
    -P 端口号
    -u 用户名
    -p 密码

    服务器和客户端在同一台电脑 可以省略主机地址 端口号默认为3306 可以省略
    如果不指定用户名和密码,会以游客模式登陆,什么都看不到

    mysql的安装:
    1.带界面 一路next
    2.压缩包 直接解压
    2.1 添加环境变量
    2.2 注册系统服务

    修改管理员密码:
    1.如果知道原始密码 mysqladmin -uroot -p password 123
    2.不知道原始密码 可以再启动服务器时,跳过授权表
    mysqld --skip -grant-tables
    无密码登录服务器 执行修改密码的指令
    update mysql.user set password = password("新密码")
    where user = 'root' and host = 'localhost';

    关于库的语句:
    创建库:create database 库名称;
    删除库:drop database 库名称;
    修改库的属性:alter database 库名称 charset = '新的编码';
    查看创建库详细信息:show create database mydb;
    查看所有数据库:show databases;
    选择一个数据库:use 库名称;

    关于表:
    增加表:create table 表名称(name char,age int);
    create table 库.表名称(name char,age int)

    查看所有表:show tables;
    查看表的详细信息:show create table t1;
    查看表结构(字段):desc t1;

    改:
    alter table t1 charset = 'gbk' 改编码
    alter table t1 add sex char; 添加字段
    alter table t1 drop sex; 删除字段
    alter table t1 modify age char; 修改字段的类型
    alter table t1 change age ages int; 修改字段的名字和类型
    rename table t1 to table1; 修改表的名称

    删除:drop table table1;

    数据记录相关操作时学习重点
    一次插入一条记录
    insert into 表名 values('名字',20);
    一次插入多条记录
    insert into 表名 values('名字',年龄),('名字',年龄),('名字',年龄);
    上述语法 值的个数必须与字段的个数相同

    指定要插入数据的字段
    inset into t2(name) values('名字')

    查看数据
    select * from 表名 *表示查看所有字段 如果想查询指定字段可以
    将*换成要查询的字段,用逗号隔开

    修改
    update 表名 set age = 100;
    update 表名 set age = 100 where name = '指定要修改的人的名字';
    update 表名 set age = 100;name = '指定要修改的人的名字'
    where name = '第二个要修改的名字';

    删除数据
    delete from 表名 where name = '指定要删除的数据'
  • 相关阅读:
    关于PCA主成分分析的一点理解
    python前言
    python
    unitest单元测试TestCase 执行测试用例(二) 断言
    python基础
    python-requests中get请求接口测试
    python数据类型字典和集合
    python数据类型 列表+元组
    函数是什么?函数式编程
    sql常用
  • 原文地址:https://www.cnblogs.com/xiezuodd/p/10525135.html
Copyright © 2011-2022 走看看