首页 > 代码库 > Mysql数据库

Mysql数据库

问题引入:

Q:为什么要有数据库?

A:当数据量大的时候,所有数据都集中在一个文本文件中,读写困难(内存消耗大、速度慢);

   操作麻烦,读写都要根据指定的格式进行解析,不通用;

   每次都是全部数据重新读写,不能通过索引对指定数据进行读写;

  数据冲突的解决方案要完全依赖Java App去实现;

     更多的功能如排序等也要完全通过Java App实现

Q:为什么我们建议初学者要选用Mysql呢?

A:Mysql主要有两大优点:简单性和低成本。引用一名专家的话说:“对于MySQL数据库,无论是在开发方面,还是支持方面,现在有大量强大的工具可以选择。每一个新手开发者可以轻松地使用MySQL数据库进行开发。甚至一个有经验的Windows管理者也可以轻松部署并开始学习它,而你不需投入一分钱来了解这个数据库。“同时,Mysql是一个开源项目,MySQL数据库归MySQL AB公司所有,但是这个软件是开源的,有一个社区版可以免费下载。稍俱常识的新入门者都可以轻松实现在一个常见硬件上安装和配置MySQL。MySQL对硬件的较低要求是其最大的优势之一。

 

Mysql的基础知识:

1、什么是表?表的形式是什么样的?

表是数据库储存结构的基本单元。

技术分享

 

 形式:

字段1  字段2字段3
数据1-1数据1-2数据1-3
数据1-2数据2-2数据2-3  
数据1-3数据2-3数据3-3

2、什么是字段?

上表中中每一列内容就是字段。字段一般包含某一分组的信息

注意:java中字符串的数据类型是String,而Mysql中字符串的字段类型为varchar/text;

3、什么是主键?

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

字段1(主键:int)字段2(int)字段3(int)
10011111000
10022222000

注意:主键不能为空!

sql基本操作语句:

查看有哪些数据库 show databases ;进入某个库use 库名; 查看当前库中有哪些表show tables ;查看该表具体结构desc 表名 ; 新建库,库名为enterprisecreate database enterprise; 

删除库 drop database
if exists enterprise;

新增表
create table account1(
  code varchar(6) not null,
  password int(6) not null,
  money double(5,2) not null,
  primary key(code) 
);
删除表
drop table if exists account1;

插入全部字段数据
insert into account1 value(‘100001‘,111111,100.00);
insert into account1 value(‘100002‘,222222,200.00);
insert into account1 value(‘100003‘,333333,300.00);

插入部分字段数据
insert into account1(code,password)value(‘100004‘,444444);

自增(表account4)如果一个主键是数字类型,可以设置为自增字段,那么插入数据时,不用插入主键,主键会从1开始递增create table account4 ( code int (6) not null auto_increment, password int(6) not null, money double(5,2) not null, primary key (code));查询数据 整表查询:select * from 表名;(*表示所有字段)个别字段查询:select 字段1,字段2 from 表名;条件查询:where后面带出条件语句select * from account1 where code=‘100002‘;select password from account1 where code=‘100002‘;select * from account1 where code=‘100002‘ and password=111111; (and表示“且”)select * from account1 where code=‘100002‘ or password=111111; (or表示“或”)select * from account1 where money>200.00;修改数据 update 表名 set 字段1=值1,字段2=值2;(一般要加条件)update account1 set password=123;(不加条件,整个表的数据被修改)update account1 set password=123 where code=‘100002‘; (只修改该条件对应的数据)update account1 set password=123,money=0 where code=‘100002‘; (同时修改多个字段)删除数据delete from 表名;(一般要加条件)delete from account1;(不加条件,整个表的数据被删除)delete from account1 where code=‘100006‘; (只删除该条件对应的数据)

 

Mysql数据库