问题分析

  • 当数据量很大的时候,所有数据都集中在一个文本文件中的话,读写会很困难,内存消耗大,速度很慢
  • 操作很麻烦,因为读写都要根据指定的格式尽心解析,不通用
  • 每次获取数据都要全部数据重新读写,不能通过对索引对指定的数据进行读写
  • 数据冲突的解决方案要完全依赖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. java类中serialversionuid 作用 是什么?举个例子说明

    serialVersionUID适用于Java的序列化机制.简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的.在进行反序列化时,JVM会把传来的字节流中的 ...

  2. android之location 根据接口获取经纬度信息

    http://maps.googleapis.com/maps/api/geocode/json?address=%E7%A6%8F%E5%BB%BA&sensor=falsehttp://m ...

  3. IceGrid负载均衡部署 z

    [IceGrid负载均衡部署步骤]1.环境主机1:IP=192.168.0.239,上面部署注册表服务器registry和节点node1,registry和node1运行在同一进程中:主机2:IP=1 ...

  4. bat命令之for命令详解

    ______________版主提醒____________________________ 为了避免影响技术讨论.提高看帖的舒适性,请大家不要在此帖下跟无实质内容的口水帖,特别是纯顶.纯支持.纯感谢 ...

  5. dual

    1. dual 确实是一张表.是一张只有一个字段,一行记录的表. 2.习惯上,我们称之为'伪表'.因为他不存储主题数据.3. 他的存在,是为了操作上的方便.因为select 都是要有特定对象的.如:s ...

  6. Inno Setup命令行安装卸载参数

    安装命令行参数安装程序接受可选的命令行参数.这些对于系统管理员以及其它程序调用安装程序时有用./SP- 在安装开始时禁用“这将安装... 你想继续吗?”的提示,当然,如果 [Setup] 段的指令 D ...

  7. zabbix 修改输出web前端图片的日期格式

    zabbix并没有给定一个全局或者用户级别的时间格式定义方式. 实在看不惯的话,可以自己修改源代码来实现修改. 暂时研究了半小时,先把展示图片修改了. 后续有更严谨的方案,再更新此文吧. ------ ...

  8. 微信红包签名算法 C#代码实现

    string stringA = "appid=wxd930ea5d5a258f4f&body=test&device_info=1000&mch_id=100001 ...

  9. 算法库:基础线性代数子程序库(Basic Linear Algebra Subprograms,BLAS)介绍

    调试DeepFlow光流算法,由于作者给出的算法是基于Linux系统的,所以要在Windows上运行,不得不做大量的修改工作.移植到Windows平台,除了一些头文件找不到外,还有一些函数也找不到.这 ...

  10. codeforces 2B The least round way 【DP】

    VJ上可找到中文题意. 思路: 首先分解有多少2与多少5.接下来就是dp. 分两次,一次是根据2的数量贪心,另外一次是根据5的数量贪心,看哪一次乘积的末尾0最少. 需要注意的是两点: 1.输入有0的情 ...