11.19

1.什么是数据库 
  存放数据的仓库
  已学习的文件操作的缺陷
  1.IO操作 效率问题
  2.多用户竞争数据
  3.网络访问
  4.用户的验证

2.常见的数据库
关系型 数据之间存在某种关联关系
  oracle
目前最好关系型数据库,体现在用户管理,分布式
商业用途收费
  mysql
免费开源,功能支持没有oracle强 但是足以满足中小企业使用
先后被sun 和 oracle 收购
  mysql创始人wedenius担心 mysql会闭源 于是另起灶炉 搞了marriaDB
  mariaDB和mysql 使用方法一模一样
  sqlServer
属于微软生态链,需要和windows配合使用
  DB2
  IBM开发的大型关系型数据库 ,收费的,通常与硬件捆绑销售

非关系型 数据以key -value的形式来存储 数据存在内存中 速度快
  mongoDB
  redis
  memercach

2.数据库的相关概念 
age = 18
一个变量 无法描述清楚数据
1.称之为一个字段

age = 18,name = Jack,genger = man
一堆变量在一起,可以描述清楚数据
2.称之为一条记录 对应着文件中的一行

文件需要分门别类 每个文件存储不同的数
3.一个文件称之为表

文件越来越多 得分文件夹
4.一个文件称之为库

数据库中包含所有内容:
字段(列)
记录


DBMS 数据库管理系统
数据库服务器
一个库可以包含多个表 一个表可以包含多条记录 一条记录中有多个字段

数据库是什么,本质上就是一套C/S架构得socket软件

3.简单的sql语句

  针对库的:

    增 create database 库名称

    删 drop database 库名称

    改 alter database 库名称 要该的属性名称

      alter database 库名称 DEFAULT CHARACTER SET utf8

      alter database 库名称 CHARSET utf8

    查 show databases 查看所有数据库

      show create database 库名称

      命名规范:

        1.不能用纯数字

        2.可以是数字字母下划线的组合

        3.可以下划线开头

        4.不能是关键字如create

        大致和Python相同

        不区分大小写

  针对表的:

    增   建表时要明确数据库

      use 库名称

      create table 表名称(字段名 类型(长度),。。。)

      create table dog(nikename char(10),gender char(1),age int)

      创建时同时指定数据库

      create table 库名称.表名称(字段名 类型(长度),....)

    删  drop table 表名

    改  alter table 表名称 drop|change|modify|add

        drop 字段名称

        change 旧的字段名 新的字段名 新的类型

        modify  字段名 新的类型

        add  字段名 类型

      重命名表

      rename table 旧表名 to 新表名

      修改表的属性

      alter table 表名 属性名 值

    查  show tables   查看所有表

    desc 表名称   查看表结构

    show create table 表名

      增 insert into 表名 values(值1,2.。。。)

      删 delete from 表名 where 字段名称=值,没有条件的话删除全部数据

      改 updata 表名 set 字段名=新的值 where字段名=值,没有的话修改全部

      查 select *from 表名,*表示通配符 查看所有字段

        select 字段名称1,2....from表名

原文地址:https://www.cnblogs.com/zhanggq/p/9985394.html