Java数据库
数据库 的概念
存储数据的仓库,你一台电脑装有数据库软件,你可以对外提供数据的增删改查服务,你这台电脑,就是一台,数据库服务器
常见数据库:
SQLServer 微软的 中小型关系型数据库
MySQL 中小型的关系型数据库
Oracle 大型的关系型数据库
关系型数据库 :具有行和列的这种二维表结构的数据库
非关系型数据: NOSQL 用键值关系来存储数据 类似 json
数据库 增~ 删~ 改~ 查
DDL:
创建数据库:create database 数据库名 例如: create database mydb;
查询所有库:show databases;
删除:drop database mydb;
修改数据库编码:alter database mydb character set=‘gbk’;
查看建库语句:show create database mydb;
在创建数据库表之前要切换库,查看库下的表名 不能创建已有的表
~切换库 use mydb;
查看改库下所有的表 show tables;
查看表结构 desc 表名; 例如: desc student;
1,创建表
create table 表名(列名1 数据类型,列名2 数据类型,…);
例如创建一个学生表:
create table student(
id int,
name varcahr(19),
age int,
birthday timestap
);
需要注意的是: 在创建表的列名时,不能用mysql 的关键字命名
-
数据库中,列的数据类型
- int:整型 id int,
* double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;
money double(5,2)
char:固定长度字符串类型;
name char(10) “张三”
* varchar:可变长度字符串类型;
name varchar(10) “张三”
text:字符串类型;存大格式的文本 比如存个小说 一般不用
blob:字节类型;存字节类型的数据 比如电影字节 图片字节 但是一般不会把字节数据存到数据库当中
date:日期类型,格式为:yyyy-MM-dd;
time:时间类型,格式为:hh:mm:ss
datetime:日期时间类型 yyyy-MM-dd hh:mm:ss
* timestamp:时间戳类型 yyyy-MM-dd hh:mm:ss
* 如果该类型的字段不给赋值,则默认当前时间
- int:整型 id int,
2,修改表
(1) 修改表名 : alter table 旧表名 rename to 新表名
alter table student rename to stu;
(2) 删除表名: drop table 表名
drop table stu;
(3)在表中增加一个列 :alter table 表名 add (列名 数据类型);
alter table stu add( phone varchar(11));
(4)删除一个列 : alter table 表名 drop 列名;
alter table stu drop phone;
(5)修改列的数据类型: alter table 表名 change 数据类型;
alter table stu cahnge varcahr(12);
3,查看表
show table 表名;
show table stu;
用DMl: 给表中 插入数据 ,删除数据 , 修改数据
* insert into 表名(字段名1, 字段名2,字段名3.........) values (值1,值2,值3.......);
insert into stu (id ,name,age ,) values(12,'wangwu',11);
insert into student(name) values('wangwu');
-- yyyy-MM-dd hh:mm:ss
-- 日期类型的列 值的话 用单引号引起来
insert into stu(name,birthday) values('wangwu2','2010-10-10 16:20:20');
insert into stu(name,birthday) values('wangwu3',null);
* delete from student; -- 无条件的删除,删除表中所有数据
-- 删除表中所有的数据 那么还有一种方式
truncate table 表名;-- 删除所有记录
* 条件删除 where = > < >= <= and 并且 or 或者
delete from student where name='zhangsan';
delete from student where name='zhangsan' and birthday='2019-08-21 15:44:12'
delete from student where name='zhangsan' or name='wangwu2' or name='wangwu3';
insert into student(id,name,age,sal) values(1,'zhangsan',23,555.55);
* 修改表中的数据 update student set 字段名='修改的值' , set 字段名 ... where 条件
update student set name='lisi',age=30;
DQL: select 查询表中的数据
- 查询所有的数据: selet *from 表名;
selet *from stu;