什么是数据库?
  存储数据的仓库,本质是一个文件系统,封装了算法和文件
之前数据的存储模式
  阶段1:集合 数组 变量
    缺点:数据存储在内存中,不能实现数据的持久化存储

  阶段2:IO流 结合文件 .txt .xml....
    优点:数据存储在磁盘上,数据可以实现持久化存储
    缺点:数据操作时,算法必须自己实现,但是相当一部分算法实现重复

  阶段3:数据库
    优点:使用专门的程序封装了算法部分
    数据库与IO比较:算法 + 文件存储数据
数据库结构:
    算法部分:.exe程序 lib文件夹下
    文件存储部分:以文件和文件夹的形式存储 data文件夹下
表结构:
    数据库----javaBean包
    表 ----- 一个类
    表行 ----- 每一个javaBean对象(具体的类实例)
    表数据 ---- 每一个字段(属性)

数据库的具体实现
    MySQL ---- 开源免费的小型数据库 6.x之后开始收费
    Oracle --- 收费的大型数据库
    SQLite ---- 移动端使用的数据库,Android使用
    SQLServer----中型数据库 C# .net 常用

MySQL (安装)

  启动、关闭服务
    net start mysql
    net stop mysql
  登录MySQL
    方式1:MySQL -uroot -proot
    方式2:mysql --host=ip --user=root --password=root (用于远程登录)

数据库的操作:增删改查
数据库操作维度有3种(database,table 结构,table 数据)每一种都有比较多的具体方式

A:database的增删改查
  增:create database 库名;
    create database 库名 character set 字符集;
  删:drop database 库名;
  改:改名操作不用,容易导致数据丢失
  查:show databases;
    show create database 库名; (查询创建该数据库的信息,编码)
    select database(); 查看当前使用的数据库
B:表结构 (前提是进入某一个数据库(database)中)
  use 库名; 对数据库进行切换
  增:create table 表名(
//int(可以不指定,11)   varchar(必须指定长度)   double   date(不指定长度)   timestamp
      字段名 类型(长度)[约束],
      字段名 类型(长度)[约束]
    ) //新建一个文件
  删:drop table 表名;    //删除文件
  查:show tables;   //列出当前库下所有的表
    desc 表名;   //查看当前表的描述,显示字段以及字段相关信息
    show create table 表名;   //查看建表语句,包含一些表信息,比如编码集
  拓展:
    select database();
  改:(了解)
    1:表名
      rename table 表名 to 新表名;
    2:字段增
      alter table 表名 add 新字段名 数据类型(长度)[];
    3:字段删
      alter table 表名 drop 字段名;
    4:字段改1-----只改数据类型
      alter table 表名 modify 字段名 新类型;
     改字段名以及数据类型
      alter table 表名 change 字段名 新名 新类型;

C:表数据
  1:向表中插入数据
    插入语法:
      insert into 表名 values(字段值1,字段值2,...);   //字段值必须和表中声明的字段对应
      insert into 表名 values(字段值1,字段值2,...),(字段值1,字段值2,...),...;   //一次插入多条记录
      insert into 表名(指定字段) values (字段对应的值);   //为表中指定的字段插入值,没指定的不插入

  注意:
    1:插入的数据必须和字段声明的数据类型严格一致
    2:插入的数据长度必须 <= 字段声明的长度
    3:如果指定了列,那么没有指定的列,默认值是null
       也可以直接在某列插入null值
    4:数值类型以外的数据,必须使用""或者''引起来,建议使用''

  2:表数据删除
    delete from 表名 where 条件;    //可以使用= 判断条件
  注意:
    1.delete from 表名; //清空表记录
    2.truncate 表名; //清空表记录
      区别:(ID自增长时)
        delete 方式,逐条删除,truncate 直接删除表相关文件,然后新建

  3:表数据修改:
    update 表名 set 字段=新值 where 条件;

  4:表数据查!!!
    语法1:select * from 表名;
    语法2:select * from 表名 where 条件;
      比较运算符:= > < >= <= != <>
      between and 类似于 >= and <=
      in(值1,值2) 类似于 = or = (in效率高)
      like //模糊查询
        后面公式:% ---- 0个或者多个字符
             _ ---- 一个下划线对应一个字符

      null(特殊值)
        判断是不是null --- is null
        is not null 类似于 not 字段名 is null (前者效率高)
    语法3:
      select * from 表名; 所有
      select 字段1,字段2,...from 表名; 指定字段
      select 字段1 as xxx from 表名; 取别名
      select distinct xxx from 表名; 去重

乱码:
  set names gbk;(临时的)
    set character_set_client=gbk;
    set character_set_connection=gbk;
    set character_set_results=gbk;
  或者改变my.ini配置文件

DDL:数据定义语言
DML:数据操作语言
DCL:数据控制语言
DQL:数据查询语言

MySQL初步理解,简易单表增删改查的更多相关文章

  1. Django框架(八)--单表增删改查,在Python脚本中调用Django环境

    一.数据库连接配置 如果连接的是pycharm默认的Sqlite,不用改动,使用默认配置即可 如果连接mysql,需要在配置文件中的setting中进行配置: 将DATABASES={} 更新为 DA ...

  2. Django框架(九)—— 单表增删改查,在Python脚本中调用Django环境

    目录 单表增删改查,在Python脚本中调用Django环境 一.数据库连接配置 二.orm创建表和字段 三.单表增删改查 1.增加数据 2.删除数据 3.修改数据 4.查询数据 四.在Python脚 ...

  3. mysql数据库单表增删改查命令

    数据库DB-database-mysql 课程安排 第一天: 1.数据库定义以及设计 2.mysql服务端的安装 3.mysql-dos操作 库的操作 表的操作 4.mysql客户端navicate工 ...

  4. $Django orm增删改字段、建表 ,单表增删改查,Django请求生命周期

    1 orm介绍  ORM是什么   ORM 是 python编程语言后端web框架 Django的核心思想,“Object Relational Mapping”,即对象-关系映射,简称ORM.  一 ...

  5. Django ORM基本的单表增删改查

    创建表 步骤: 1.app下models.py里创建类(继承models.Model) from django.db import models class UserInfo(models.Model ...

  6. ORM之单表增删改查

    ORM之单表增删改查 在函数前,先导入要操作的数据库表模块,model from model所在的路径文件夹 import model   在views文件中,加的路径: #就一个app01功能的文件 ...

  7. django(七)之数据库表的单表-增删改查QuerySet,双下划线

    https://www.cnblogs.com/haiyan123/p/7738435.html https://www.cnblogs.com/yuanchenqi/articles/6083427 ...

  8. Django ORM字段类型 单表增删改查 万能的双下划线

    1.ORM三种模型 模型之间的三种关系:一对一,一对多,多对多. 一对一:实质就是在主外键(author_id就是foreign key)的关系基础上,给外键加了一个UNIQUE=True的属性: 一 ...

  9. JAVA 操作远程mysql数据库实现单表增删改查操作

    package MysqlTest; import java.sql.DriverManager; import java.sql.ResultSet; import com.mysql.jdbc.C ...

随机推荐

  1. flink详细介绍

    Flink是什么 Flink是一个分布式计算引擎 MapReduce Spark Storm 同时支持流计算和批处理 和Spark不同, Flink是使用流的思想做批, Spark是采用做批的思想做流 ...

  2. webstorm使用说明

    1.移动光标到的代码块的结尾处(开始处 [ )      ctrl+] 2.移动光标到的代码块的结尾处并选择   ctrl+shift+] 3.ctrl + b: 跳到变量申明处 4.多光标输入:  ...

  3. Core Dump总结

    Core Dump总结 查看现在系统dump core的情况 ulimit -c 结果表示core文件的大小.如果显示0,则不会dump core,显示unlimited不限制core文件大小 打开d ...

  4. Centos7 安装 telnet 服务

    准备写一个 django-webtelnet(运维管理系统集成后管理网络设备),但是手边没有现成的网络设备资源可以测试,那就研究下 Centos7 下安装 telnet-server 吧. 安装 yu ...

  5. SPSS把一个数据样本随机分为两部分

    SPSS把一个数据样本随机分为两部分 1.  打开SPSS数据文件. 2.  选择DATA>SELECT CASES,打开"Select Cases"对话框 3. 选择&qu ...

  6. Linux之nginx-uwagi-django 搭建

    1. nginx 1) 使用官方Nginx yum源 [root@nginx ~]# vim /etc/yum.repos.d/nginx.repo [nginx] name=nginx repo b ...

  7. Dubbo入门到精通学习笔记(七):基于Dubbo的分布式系统架构介绍(以第三方支付系统架构为例)、消息中间件的作用介绍

    文章目录 架构简单介绍 消息中间件在分布式系统中的作用介绍 消息中间件的定义 消息中间件的作用 应用场景 JMS(Java Message Service) JMS消息模型 实现了JMS规范的消息中间 ...

  8. (转载)js调用打印机 打印整体或部分

    本文转载自:https://www.cnblogs.com/lfhy/p/6802781.html 以下为原文内容: 有时前端的项目中需要添加打印的功能,首先要知道打印分为整体打印和局部打印两种,而局 ...

  9. 从零开始搭建系统2.4——Jenkins安装及配置

    1.安装wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.reporpm --impo ...

  10. [JZOJ6355] 【NOIP2019模拟】普 24/100

    题目 题目大意 给你一个序列,对于所有\(k\in [1,n]\),求长度为\(k\)的子序列的最大权值,权值为\(a_1-a_2+a_3-...\pm a_k\) 思考历程 这题显然可以背包对吧-- ...