zoukankan      html  css  js  c++  java
  • MySQL初步理解,简易单表增删改查

    什么是数据库?
      存储数据的仓库,本质是一个文件系统,封装了算法和文件
    之前数据的存储模式
      阶段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:数据查询语言

  • 相关阅读:
    遇到的开发错误
    我的麦本本配置
    C#:100以内能被7整除的最大自然数
    C#:静态字段和静态方法的学习
    Oracle 备份、恢复单表或多表数据步骤 (转)
    有关关键路径的概念和算法 (转)
    Delphi中StringReplace函数的使用
    Delphi 里 FillChar的用法
    Delphi中destroy, free, freeAndNil, release用法和区别
    项目经理、系统架构师或技术骨干应该具备的水平
  • 原文地址:https://www.cnblogs.com/chonglchong/p/6711537.html
Copyright © 2011-2022 走看看