zoukankan      html  css  js  c++  java
  • 数据库(库,表,数据 的增删改查)

    数据库

    什么是数据库                                      

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

    存储数据的方式

    1 变量 无法永久存储

    2 文件处理 可以永久存储

    文件处理存在的弊端:

    1 文件处理速度慢

    2 文件只能在自己的计算机上读写,无法被共享(局域网除外)

     

    单台计算机的性能终归是有限的

    1 升级你的硬件设备  提升幅度有限 称之为垂直拓展

    2 服务器集群 分布式  横向拓展

    一旦把服务器拆分开后,数据就必须能够被不同的计算机共享

    必须通过网络 也就是socket

    数据的本质就是一个socket(tcp)的c/s结构的程序

    如果自己实现一个数据软件 需要解决的几个问题

    1 一旦数据共享,就存在竞争问题,需要处理锁

    2 不是所有的tcp连接请求都要接受,需要加上安全验证

    3 文件处理带来的效率问题,需要想办法来提高梳理速度(索引)

    有很多现存在的数据库软件可以直接使用,又分为两大类

    1 关系型数据库

    该数据的类型  提供某种机制可以帮你维护 数据与数据之间的关系

    例如 学员数据和班级数据 可以通过一方找到另一方

    一般都是基于文件来实现的

    优点是:

    容量大,可以永久储存

    MySQL 免费开源 开源支持中小型企业并发

    Oracle 商业收费 学习免费 功能比MySQL强大,用户管理和集群

    SQLServer 属于微软生态圈 只能运行在Windows中

    MariaDB  MySQL创始人在MySQL的基础上开发了MariaDB

    DB2 ibm 360

    sqllite  非常轻量级的数据库

    共同的特点都支持SQL

    结构化 查询语言,学习数据库的重点也就是SQL语言

    2 非关系型数据库

    数据与数据之间是独立的,不存在任何关联关系

    以key :value的形式来存储数据

    一般基于内存 优点:速度快 缺点:断电丢失

    MongoDB

    redis

    memcache

    该使用哪一类数据库?

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

    数据库的相关概念

    数据 本质上一堆带有含义的符号

    name= Jack

    数据记录

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

    表  本质上就是一个文件

    里面存储着一堆数据记录

    库 本质上就是一个文件夹

    里面放着一堆表文件

    DBMS (data base manager system)

    数据库管理系统(tcp的服务器)

    负责管理一堆文件夹(即数据库)

    数据库服务器 

    指的是运行有tcp服务器程序的计算机

     

    MySQLd 是服务器的主程序

    MySQL警告说:创建文件失败 由于权限不足 用管理员权限运行即可

    MySQL是无界面的客户端 需要在cmd运行

    MySQL 连接服务器 需要cmd运行

    MySQL连接服务器 需要指定以下cmd运行

    -h 主机地址(ID)

    -P 端口号

    -u 用户名

    -p 密码

    服务器和客户端在同一台电脑 可以省略主机地址 端口号默认3306 可以忽略   如果不指定用户名和密码 以游客身份登录  什么也看不到

    MySQL 的安装

    1 带界面

    2 压缩包 字直接解压

    2.1添加环境变量

    2.2注册系统服务

    修改管理员密码

    1 如果知道原始密码 MySQLadmin -uroot  -p passwort  123

    2 不知道原密码  可以在启动服务器时 跳过  授权表

    mysqld --skip-grant-tables

    无密码登录服务器 执行修改密码的指令

    upload MySQL。user  set password = password(“新密码”) where user = 'root' and host = 'localhost';

    库的增删改查

    创建库

    create databases 库名称

    删除库

    drop database 库名称

    修改库属性

    alter database 库名称 charset = "新的编码“
    查看创建库的详细信息

    show  create database 库名称

    查看所有数据库

    show databases

    选择一个数据库

    use 库名称

    表的增删改查

    create table 表名称(name char ,age int);

    create table 表名称(name char ,age int);

    查看所有表

    show tables

    查看表的详细信息

    show create table 表名称

    查看表结构 (字段)

    alter table 表名称 charset = "gbk" 改编码

    alter table 表名称 add ses char ;添加字段

    alter table 表名称 drop sex ;删除字段

    alter table 表名称 modify age char ;修改字段的类型

    alter table 表名称 change age ages int ;修改字段的名字和类型

    rename table 表名称(旧表名称) to 表名称(新表名称)

    删除 

    drop table 表名称;

    记录的增删改查

    一次插入一条数据

    insert into 表名称 values(值1,值2);

    一次性插入多条数据

    insert into 表名称 values(值1,值2),(值1,值2)....;

    上述语法 值的个数必须与字段的个数相同

    指定要插入的数据的字段

    insert  into  表名称(字段名称) values(值);

    查看数据 

    select * from 表名称;*表示查看所有的字段 多个字段用逗号隔开

    修改

    update 表名称 set age = 100;没有条件则全部修改 

    update 表名称 set age = 100 where  name  =  "陈“;

     update 表名称 set age = 100 ,name = “刘铁柱” where name = “陈” 把陈替换成刘铁柱

    删除数据

    delete form 表名称 删除整个表

    delete from 表名称 where name = “刘铁柱” 删除一条数据

  • 相关阅读:
    六、函数篇
    七、浅拷贝和深拷贝
    五、模块导入方法及常用模块
    四、注释与捕获参数
    三、python对字符串和集合的内存垃圾回收机制
    二、数据类型的常用方法
    一、基本数据类型
    工作必备之正则匹配、grep、sed、awk
    如何检查linux服务器是否被入侵
    linux查看磁盘类型(是否SSD盘)
  • 原文地址:https://www.cnblogs.com/tangda/p/10545907.html
Copyright © 2011-2022 走看看