MySQL
1.初识别MySql
javaee:企业级java开发,web
前端:页面展示、
后台:连接点:链接数据库JDBC。链接前端,控制·试图跳转,给前端传递数据
数据库:存数据,TXt
1.为什么学习数据库
1.岗位需求
2.现实的世界,大数据时代
3,数据库是所有软件体系中最核心得存在
2.什么是数据库
数据库(DB)
概念:数据仓库,软件安装在操作系统上
作用:存储数据,管理数据
3.数据库分类
关系型数据库:行列,
mySql。Oracle,sqlServer
通过表和表之间,行和列之间得关系进行数据得存储。
非关系型数据库
Redis。mongDB
非关系型数据库,对象存储,通过对象得自身属性来决定。
DBMS(数据库管理系统)
数据库得管理软件,科学有效得管理我们的数据,维护和获取数据。
2.操作数据库
1.操作数据库
1.创建数据库
`CREATE DATABASE if not EXISTS westos`
2.删除数据库
DROP DATABASE student
3.使用数据库
USE westos;
4.查看所的数据库
SHOW DATABASES;
2.数据库得类型
1.数值
tinyint 很小的数据
smalilint 较小得数据
int 标准的数据
float 浮点数
double 浮点数
decimal 字符串形式的浮点数 金融计算
2.字符串
char 字符串固定的大小
varchar 可变字符串
tinytext 微型文本
text 文本串
3.时间日期
timestamp 时间戳
data
time
datatime
4.null
没有值,未知
3.数据库的字段属性
1.Unsigned
无符号的整数
声明了该列不能声明为负数
2.zerofill
0填充,不足的位数使用零填充
3.自增
自动在上一条记录的基础上+1,通常设计为唯一的主键。
4.默认
设置默认的数值!
4.创建数据库
CREATE TABLE student(
id INT(4) NOT NULL,
pwd VARCHAR(20) NOT NULL ,
sex VARCHAR (2) NOT NULL ,
address VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
email VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (id)
)
3.MySQL的数据管理
1.外键
2.DML语言
4.索引
-
主键索引:唯一的标识,主键不可重复,只能有一个列作为主键。
-
唯一索引:避免重复的列出现,唯一索引可以重复,多个列都可以标识为唯一索引
-
常规索引:默认的,index,key关键字来设置
-
全文索引:在特定的数据库引擎下才有,快速定位数据。
5.JDBC
测试代码
package com.lm.lesson01;
import java.sql.*;
//我的第一个JDBC程序
public class jdbcFirstDemo {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
// 1,加载驱动
Class.forName("com.mysql.jdbc.Driver");
// 2.用户信息和url
String url ="jdbc:mysql://localhost:3306/jdbcstudy?useUnicode=true&characterEncoding=utf8&SSL=true";
String username="root";
String password="root";
// 3.连接成功,数据库对象
Connection connection = DriverManager.getConnection(url, username, password);
// 执行SQL的对象
Statement statement=connection.createStatement();
//
String sql="SELECT * FROM users";
ResultSet resultSet = statement.executeQuery(sql);//返回的结果集
while (resultSet.next()){
System.out.println("id="+resultSet.getObject("id"));
System.out.println("name="+resultSet.getObject("NAME"));
System.out.println("pwd="+resultSet.getObject("PASSWORD"));
System.out.println("email="+resultSet.getObject("email"));
System.out.println("birth="+resultSet.getObject("birthday"));
}
resultSet.close();
statement.close();
connection.close();
}
}
浙公网安备 33010602011771号