问题分析

  • 当数据量很大的时候,所有数据都集中在一个文本文件中的话,读写会很困难,内存消耗大,速度很慢
  • 操作很麻烦,因为读写都要根据指定的格式尽心解析,不通用
  • 每次获取数据都要全部数据重新读写,不能通过对索引对指定的数据进行读写
  • 数据冲突的解决方案要完全依赖Java app去实现
  • 更多的功能,像排序,也要完全通过Java app实现

知识点

1. 数据库中的关键结构组织和属性

 ——是存储数据的最基本单元 
表里面包含有字段和数据

字段: 
字段名,字段类型,主键,是否允许为空,默认值 
字段类型就是字段的数据类型 
比较常用的有 字符串varchar/text 整型int 浮点型double 日期datetime/date

这里简单说一下date和datetime区别 
DATETIME类型可用于需要同时包含日期和时间信息的值。 
MySQL 以 ‘YYYY-MM-DD HH:MM:SS’格式检索与显示 DATETIME 类型。支持的范围是’1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’。(“支持”的含义是,尽管更早的值可能工作,但不能保证他们均可以。) 
DATE类型可用于需要一个日期值而不需要时间部分时。MySQL 以 ‘YYYY-MM-DD’ 格式检索与显示DATE值。支持的范围是 ‘1000-01-01’ 到’9999-12-31’。

主键:一条数据的主索引,设为主键的字段,数据不能重复,一个表中只有一个主键,可用于表示当前这条数据

是否允许为空 
字段属性,表示插入一条数据的时候,是否允许不插入该字段对应的数据(即为null),主键不能为空 
默认值 
字段属性,可不设置,表示插入一条数据的时候,如果不插入某字段对应的数据,系统会自动插入其默认值

2. MySQL基本命令 
注意每一句都要以分号结束

查看有哪些数据库
show databases ;

进入某个库
use 库名; 

查看当前库中有哪些表
show tables ;

查看该表具体结构
desc 表名 ; 

新建库,库名为test
create database test ;

删除库
drop database if exists test ; 

新建表
create table account1{
    code ) not null,
    password ) not null,
    ,) not null,
    primary key(code)
    }

删除表
drop table if exists account1 ;

插入全部字段数据
insert into 表名 value(字段1值, 字段2值, 字段3值);
,100.00);
,200.00);
,300.00);
注意:字符串用英文单引号引住

插入部分字段数据:
insert into 表名(字段1, 字段2) value(字段1值, 字段2值);
);

允许为空(表account2)
create table account2(
    code ) ,
    password ) ,
    ,),
    primary key(code)
);

设默认值(表account3)
create table account3(
    code ) not null,
    password ) not null,
    ,) not null default 0.0,
    primary key(code)
);

自增(表account4)
如果一个主键是数字类型,可以设置为自增字段,那么插入数据时,不用插入主键,主键会从1开始递增
create table account4 (
    code ) not null auto_increment,
    password ) not null,
    ,) not null,
    primary key (code)
);

查询数据 整表查询:
select * from 表名;(*表示所有字段)

个别字段查询:
select 字段1,字段2 from 表名;

条件查询:where后面带出条件语句
';
';
; (and表示“且”)
; (or表示“或”)
select * from account1 where money>200.00;

修改数据
update 表名 set 字段1=值1,字段2=值2;(一般要加条件)
;(不加条件,整个表的数据被修改)
 '; (只修改该条件对应的数据)
, '; (同时修改多个字段)

删除数据
delete from 表名;(一般要加条件)
delete from account1;(不加条件,整个表的数据被删除)
'; (只删除该条件对应的数据)

3、varchar(6)、int(6)、double(5,2)括号中的数字分别代表什么意思?

varchar(6):插入的字符串字段不能超过6个字符

int(6):这里的6并不是只能插入6位以内的数字,对于普通的int字段来说,int(6)与int(11)没有区别,插入的数字只要不超过int的范围(4字节)即可;对于设置为补零(zerofill)的int字段,int(6)表示当数位不足6位时,前面就补零至6位,如插入333,系统会补零为000333(补零的情况比较少用,暂不详述)

double(5,2):保留2位小数后,整个长度(含小数)不能超过5位(如:123.123在范围内,可以插入;1231.23在范围外,不能插入)

数据库mysql的基本命令的更多相关文章

  1. Linux 对mysql远程授权连接操作 和 查看mysql数据库和表 基本命令

    Linux 对mysql远程连接的授权操作 首先linux连接mysql数据库 授权: grant all on *.* to ' with grant option; //允许账户root从任何主机 ...

  2. 烂泥:mysql数据库使用的基本命令

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 1.连接数据库的格式 mysql -h IP -u用户名 -p密码; 1.1连接远程数据库 mysql -h 192.168.1.214 -uroot ...

  3. MySQL的基本命令

    MySQL的基本命令 启动:net start mySql; 进入:mysql -u root -p/mysql -h localhost -u root -p databaseName; 列出数据库 ...

  4. Python创建插入数据库MySQL

    首先要在控制台创建好数据库 mysql -u root -p 创建数据库 查看数据库 -------------------更新分割线(上面为新增...太久没用都忘了SQL基本命令了)-------- ...

  5. mysql 的基本命令

    引子:Excel 最简单的数据库 Mysql:属于大型数据库 一.基本命令: 启动服务: 说明: 以管理员身份运行cmd 格式: net start 服务名称 实例: net start mysql ...

  6. mysql的基本命令行操作

    mysql>CREATE DATABASE imooc; //创建数据库 mysql> USE imooc ;//选择数据库 mysql> SELECT DATABASE();//查 ...

  7. MYSQL添加新用户 MYSQL为用户创建数据库 MYSQL为新用户分配权限

    1.新建用户 //登录MYSQL @>mysql -u root -p @>密码 //创建用户 mysql> insert into mysql.user(Host,User,Pas ...

  8. Robot Framework-DatabaseLibrary数据库(MySql)

    Robot Framework-Mac版本安装 Robot Framework-Windows版本安装 Robot Framework-工具简介及入门使用 Robot Framework-Databa ...

  9. paip.导入数据英文音标到数据库mysql为空的问题之道解决原理

    paip.导入数据英文音标到数据库mysql为空的问题之道解决原理 #---原因:mysql 导入工具的bug #---解决:使用双引号不个音标括起来. 作者 老哇的爪子 Attilax 艾龙,  E ...

随机推荐

  1. android 技术相关Blog

    android 技术相关 LVXIANGAN的专栏 http://blog.csdn.net/LVXIANGAN/article/category/1101038 Android NFC 开发实例 h ...

  2. Redis使用详细教程(转)

    一.Redis基础部分: 1.redis介绍与安装比mysql快10倍以上 *****************redis适用场合**************** 1.取最新N个数据的操作 2.排行榜应 ...

  3. C++学习15 继承权限和继承方式

    C++继承的一般语法为: class 派生类名:[继承方式] 基类名{ 派生类新增加的成员 }; 继承方式限定了基类成员在派生类中的访问权限,包括 public(公有的).private(私有的)和 ...

  4. Java 线程间通讯(共享变量方式)

    Java线程间通讯,最常用的方式便是共享变量方式,多个线程共享一个静态变量就可以实现在线程间通讯,但是这需要注意的就是线程同步问题. 一.没考虑线程同步: package com.wyf; publi ...

  5. POJ 3422 Kaka's Matrix Travels 【最小费用最大流】

    题意: 卡卡有一个矩阵,从左上角走到右下角,卡卡每次只能向右或者向下.矩阵里边都是不超过1000的正整数,卡卡走过的元素会变成0,问卡卡可以走k次,问卡卡最多能积累多少和. 思路: 最小费用最大流的题 ...

  6. 消除PyCharm中满屏的波浪线

    PyCharm使用了较为严格的PEP8的检查规则,如果代码命名不规范,甚至多出的空格都会被波浪线标识出来,导致整个编辑器里铺满了波浪线,右边的滚动条也全是黄色或灰色的标记线,很是影响编辑. 在网上看了 ...

  7. Android开发-API指南-常用Intent

    Common Intents 英文原文:http://developer.android.com/guide/components/intents-common.html 采集(更新)日期:2014- ...

  8. Django中级篇(上)

    Form验证 django中的Form一般有两种功能: 输入html-----------不能你自己写一些标签,而帮你自动生成 验证用户输入-------将用户验证信息保存起来,可以传到前段 #!/u ...

  9. 学习练习 java20160507作业

    第一题 求水仙花的个数: //求水仙花数 int zongshu = 0; for(int i =100; i<=999;i++) { int bai = i/100; //求百位上面的数字 i ...

  10. linux 关闭系统提示声音

    关闭Linux 提示声音:   rmmod pcspkr      //永久关闭 在/etc/modprobe.d/blacklist文件最后加上 blacklist pcspkr