储存数据,管理数据的仓库。
常见的数据库分为:
【关系型数据库】与【非关系型数据库】的关系:
早期发展的数据库建立在数据的紧密关系基础上(如:母女关系),我们称其为关系型数据库;
现今数据库建立在数据的松散关系基础上(如:中国人和印度人、视频、音频),我们称其为非关系型数据库nosql(not only sql)。
import java.util.*;
import java.sql.*;
import java.sql.*;
public class ConnectDatabase {
public static void main(String[] args) {
Connection connection=null;
try {
//加载驱动:
Class.forName("com.hxtt.sql.access.AccessDriver");
//建立连接:
connection = DriverManager.getConnection("jdbc:Access:///d:/student.accdb");
//这里的数据库存放在D盘
}catch(Exception e) {
System.out.println(e.toString());
}
if(connection!=null)
System.out.println("数据库连接成功!");
else
System.out.println("数据库连接失败!");
}
}
step1:加载JDBC驱动:
加载驱动JDBC-MySQLl连接器的代码:
class.forName("驱动的名字(string)");
例如:
class.forName("com.mysql.cj.jdbc.Driver“);
try(class.forName("com.mysql.cj.jdbc.Driver");
}
catch(Exception e){}
Eg:加载驱动Sql access数据库的代码:
class.forName("com.hxtt.sql.access.AccessDriver");
try {
Class.forName("com.hxtt.sql.access.AccessDriver");//加载驱动
}catch(Exception e) {
}
step2.建立连接
一般通过connect =DriverManager.getConnection(……)方法实现,
connect =DriverManager.getConnection(url,username,passwd)
url表示连接数据库的字符串,usermame表示连接数据库的用户名,passwd表示连接数据库的密码。
connect=Diverranager.getConnection("jdbc:Access///地址”);
step3.创建statement对象(数据操作的基础对象)
Statement=connect.createStatement( ).
step4.执行sql语句,数据库操作:加、删、查、改
1) 数据查询,返回一个结果集对象(按行访问的二维表格)
resultSet =statement.executeQuery(String sql);(2)添加纪录、删除记录、更新数据(返回受影响的行数)
int rows=excuteUpdate(String sql)
step5 .对象关闭
resultSet.close(); statement.close(); connect.close();
在MySQL的配置文件my.ini中会进行默认配置
将DOS命令窗口当做Mysql的客户端连接并操作Mysql数据库:
登录命令:
mysql -u用户名 -p密码
mysql -u用户名 -p
密码
mysql -h主机地址 -u用户名 -p密码
mysql -h主机地址 -u用户名 -p
密码
登录的方式有很多种,使用任意一种即可.
用户名(根用户): root
密码(根密码): root
是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
注意⚠️:sql的关键字不区别大小写
查询:show databases
新增:create database 库名
删除:drop database 库名
修改:alter database 库名
创建表 :create table 表名
(字段名1 字段类型1(字段长度),字段2,字段3…);
删除表 : drop table 表名
修改表 :给STU表添加classname列
alter table STU add (classname varchar(100));
查看表:show tables;
描述表:desc tb_door ;
修改列名:修改 stu 表的 gender 列名为 sex
alter table stu change gender sex ;删除列:删除 stu 表的 classname 列
alter table stu drop classname;修改表名称:修改 stu 表名称为 student
alter table stu rename to student;
新增:insert into 表名 values(‘字段1的值’ , “字段2的值” , …)
insert into tb_door values(10000,'first',"010-666888",'bj');
删除:delete from 表名
mysql> delete from tb_door;
mysql> select * from tb_door;
修改:update 表名 set 字段名=字段的新值
mysql> update tb_door set addr='shanghai';
查询:select 字段名 from 表名
select id from tb_door; --只查id列的值
select id,addr from tb_door; --查id和addr列的值
select * from tb_door; --查所有列的值 -- 低效
select 字段 from 表名 where 条件;
1. insert into 表名 (列名表) values (值表);
注意:值表中的值与列名表中的列名顺序一一对应
2.insert into 表名 values (值表);
默认插入全部列
1.update 表名 set 列名1=表达式1 [,列名2=表达式2, …] [where 条件 ]
1. delete from 表名 [WHERE 条件