我们在实际开发中,都是基于数据库开发的,不可能数据存在本地文件中,而且数据量动不动就10几万 百万 ,千万的,这些数据都是保存在数据库当中的,而我们一般都是对数据库中的数据进行增删改查的操作,
目前市场主流的数据库有:SQL Server(微软)、Oracle(oracle公司的)MySQL(以前是sun公司的现在被oracle收购了) DB2(IBM) SyBase()
今天就以mysql为例 学习sql,
使用命令行窗口连接(本地)MYSQL数据库
mysql –u用户名 –p然后按enter键 再输入密码,这样别人就看不见你使用的密码 同时也链接了本地数据库,有链接数据库就有断开数据库,那么断开数据库用的是quit或者是\q
我们在装好mysql,只是装好了一个数据库管理程序,要想通过这个程序保存数据,需要在这个程序下创建多个库来保存(一般开发人员会针对每一个应用创建一个数据库)。
而库又是使用表保存数据的,所以库创建好后,我们又会在数据库下面创建多个表,以保存程序中不同实体的数据。
看如下图:
数据在数据库中的存储方式?
我们知道数据存在数据库中是以表的形式存在,如图所示:
我们知道一个对象称之为一条数据,一个类对应的就是一个表
总结:
1、Java是使用对象封装数据,例如程序产生了如上所示2个user对象,这些对象的数据要想保存到数据库中,需要在数据库中创建与之对应的表,一个user对象中封装的数据,要保存到数据库中,一般就要在数据库中创建一个与之对应的表。
2、对象的属性定义为表头,对象的数据对应于表中的一条记录。
3每个对象对应于表中的一条记录
那么好明白数据库使用表保存数据后,如何在数据库中创建表呢?
1:创建数据库的语法:
CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification: [DEFAULT] CHARACTER SET charset_name
| [DEFAULT] COLLATE collation_name
注:
CHARACTER SET:指定数据库采用的字符集
COLLATE:指定数据库字符集的比较方式
[]代表可有可无 他更多的是一种补充,
练习:
创建一个名称为mydb1的数据库。
create database mydb1;
查看所有的数据库
show databases;
删除一个库
drop database mydb2;
创建一个使用utf-8字符集的mydb2数据库。
create database mydb2 character set utf8;
创建一个使用utf-8字符集,并带校对规则的mydb3数据库
看前面创建的mydb2数据库的定义信息
show create database mydb2;
查看服务器中的数据库,并把其中某一个库的字符集修改为gb2312;
alter database mydb3 character set gb2312;
创建表的语法:
CREATE TABLE table_name
(
field1 datatype,
field2 datatype,
field3 datatype,
)character set 字符集 collate 校对规则
field:指定列名(列是竖的 横的叫记录) datatype:指定列类型
注意:创建表时,要根据需保存的数据创建相应的列,并根据数据的类型定义相应的列类型
例:user对象
id int
name string
password string
birthday date
那么对象对应的属性要和表中的列名要保持一致,
比如user对象对应的表示这样的