day07.数据库


1.数据库的概念


1.1什么是数据库?

储存数据,管理数据的仓库。


1.2数据库的分类:

常见的数据库分为:

  • 关系型数据库, Oracle、MySQL、SQLServer、Access
  • 非关系型数据库, MongoDB、Redis、Solr、ElasticSearch、Hive、HBase

【关系型数据库】与【非关系型数据库】的关系:

早期发展的数据库建立在数据的紧密关系基础上(如:母女关系),我们称其为关系型数据库;

现今数据库建立在数据的松散关系基础上(如:中国人和印度人、视频、音频),我们称其为非关系型数据库nosql(not only sql)。

1.3连接数据库:

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();


1.4Mysql数据库

1.4.1 Mysql数据库的作用:

  1. mysql服务端,它来处理具体数据维护,保存磁盘
  2. mysql客户端,CRUD新增,修改,删除,查询

1.4.2 Mysql的数据存放位置:

在MySQL的配置文件my.ini中会进行默认配置

1.4.3Mysql的连接方式:

将DOS命令窗口当做Mysql的客户端连接并操作Mysql数据库:
    登录命令:
        mysql -u用户名 -p密码    
    mysql -u用户名 -p
        密码
    
    mysql -h主机地址 -u用户名 -p密码
    
    mysql -h主机地址 -u用户名 -p
        密码
        
登录的方式有很多种,使用任意一种即可.
    用户名(根用户): root
    密码(根密码): root



2.sql语句⭐️

2.1.什么是sql语句?

是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。

注意⚠️:sql的关键字不区别大小写


2.2.sql语言的分类

  • DML(Data Manipulation Language)数据操纵语言. 如:insert,delete,update,select(插入、删除、修改、检索)简称CRUD操新增Create、查询Retrieve、修改Update、删除Delete
  • DDL(Data Definition Language)数据库定义语言.   如:create table之类
  • DCL(Data Control Language)数据库控制语言.    如:grant、deny、revoke等,只有管理员才有相应的权限
  • DQL(Data Query Language)数据库查询语言.   如: select 语法
     

2.3常见操作语言

2.3.1数据库的常见操作

查询:show databases

新增:create database 库名

删除:drop database 库名

修改:alter database 库名

2.3.2表的常见操作

创建表 :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;
 

2.3.3表里的记录的常见操作

新增: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; --查所有列的值 -- 低效

2.4条件查询数据

select 字段 from 表名 where 条件;

  1.  select  *  from  表名;
  2.  select  列名1,列名2,……   from  表名  [where 条件]    [order by 列名[ASC|DESC]];
  3.     select  列名1,count(*) [as 别名] from  表名  [where 条件]    [group by 列名1 ];
  4.     select  统计函数[as 别名]  from  表名 [where 条件]  ;
  5. (统计数据:count(*)数目,sum(列名),max(列名))

2.5插入记录

1. insert  into  表名  (列名表)   values (值表);
注意:值表中的值与列名表中的列名顺序一一对应

2.insert  into  表名     values (值表);

默认插入全部列

2.6.更新数据:

1.update 表名  set  列名1=表达式1  [,列名2=表达式2, …]  [where  条件 ]

2.7.删除数据:

1. delete  from  表名   [WHERE 条件 

你可能感兴趣的:(java暑期学习,数据库)