问题分析

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

    notifyAll()因某个特定锁而被调用时,只有等待这个锁的任务才会被唤醒. package Thread.Wait; import java.util.Timer; import java.uti ...

  2. DTD限制XML文件

    需要通过使用Microsoft Visual Studio 2010.XMLSpy或者eclipse软件来检查校验 文件中有中文,需要存为utf-8编码 book.dtd <!ELEMENT 书 ...

  3. Android 开发中常用 ADB 命令总结

    adb 的全称为 Android Debug Bridge,就是起到调试桥的作用.通过 adb 我们可以在 Eclipse 中方便通过 DDMS 来调试 Android 程序,说白了就是 debug ...

  4. ubuntu 命令学习大全

    http://wiki.ubuntu.org.cn/UbuntuSkills#.E6.98.BE.E7.A4.BA.E5.BD.93.E5.89.8D.E7.A1.AC.E4.BB.B6.E4.BF. ...

  5. 防止ARP欺骗的方法!!!

    防止ARP欺骗的方法!!! 根据鄙人上网经常掉线,怀疑可能是某人使用网络剪刀手,网络执行官,局域网终结者等工具.经过搜索有关资料,有了一点点防范经验,借以参考~! 一 首先我们来了解下这类攻击工具的原 ...

  6. [ActionScript3.0] 传递任意数量的参数

    function setAgument(a:int,...rest):void{ for(var i:int=0;i<rest.length;i++){ trace(rest[i]); }}se ...

  7. zkclient

    zkclient 快速指南 Maven依赖 最新的版本发布在Maven中央库. <dependency> <groupId>com.github.adyliu</grou ...

  8. Intellisense in Visual Studio for Microsoft Dynamics CRM 2016

    Intellisense in Visual Studio for Microsoft Dynamics CRM 2016 posted by dynamicsnick on may 18, 2016 ...

  9. 使用commons-codec包加密字符串(MD5,SHA1,BASE64)

    1. [代码]MD5 String str = "abc"; DigestUtils.md5Hex(str); //附.net生成MD5的方法,生成内容跟java一致: Strin ...

  10. [SQL] cast 与 convert 都在什么情况下使用

    CONVERT(data_type,expression[,style]) 说明: 此样式一般在时间类型(datetime,smalldatetime)与字符串类型(nchar,nvarchar,ch ...