java核心技术第一篇之数据库基础

01.数据库的概念:
1).数据库的概念:数据库(Database),就是存储数据的仓库。
2).作用:用来存储和管理大量数据的。内部采用了非常便于查询的机制来存储数据,能保证我们在大量数据的情况下
可以很快,并且很准确为我们查询到所需记录。
3).什么是数据库管理系统:指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,
以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。
02.数据库内部的结构:
数据库软件:
|--逻辑数据库(跟项目相关)
|--表
|--列
|--行(记录)
|--表
....
|--逻辑数据库(跟项目相关)
....
03.Java和数据库的对应关系:
java 数据库
--------------------------------------------
项目 逻辑数据库
类 表
类中成员属性 表的字段(列)
属性的数据类型 字段的数据类型
对象 表中的一行记录
04.常见的数据库管理系统
MYSQL :开源免费的数据库,小型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。
Oracle :收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。
DB2:IBM公司的数据库产品,收费的。常应用在银行系统中.
SQLServer:MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用。
SyBase :已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。
SQLite : 嵌入式的小型数据库,应用在手机端。
常用数据库:MYSQL,Oracle.
这里使用MySQL数据库。MySQL中可以有多个数据库,数据库是真正存储数据的地方。
05.MySQL的安装和客户端连接:
1.连接MySQL服务器端:
1).使用命令行:Mysql数据库root密码重置
1) 停止mysql服务器 运行输入services.msc 停止mysql服务
2) 在cmd下 输入 mysqld --skip-grant-tables 启动服务器 光标不动 (不要关闭该窗口)
3) 新打开cmd 输入mysql -u root -p 不需要密码
use mysql;
update user set password=password(‘abc‘) WHERE User=‘root‘;
4) 关闭两个cmd窗口 在任务管理器结束mysqld 进程
5) 在服务管理页面 重启mysql 服务
密码修改完成
mysql -uroot -p密码 (回车)

可以在命令行上通过命令来开启与关闭服务器
开启 net start mysql
关闭 net stop mysql

Mysql数据库root密码重置
1) 停止mysql服务器 运行输入services.msc 停止mysql服务
2) 在cmd下 输入 mysqld --skip-grant-tables 启动服务器 光标不动 (不要关闭该窗口)
3) 新打开cmd 输入mysql -u root -p 不需要密码
use mysql;
update user set password=password(‘abc‘) WHERE User=‘root‘;
4) 关闭两个cmd窗口 在任务管理器结束mysqld 进程
5) 在服务管理页面 重启mysql 服务
密码修改完成

Mysql重置管理密码的操作

Mysql 使用过程中,难免会忘记管理密码,肿么办?

这里先介绍种比较通用的解决办法,包含 Windows 和 Linux 二种操作系统环境下:

一、停止正在运行的 Mysql 进程

killall -TERM mysqld -------- LINUX

windows 下可通过停止系统服务 net stop mysql 或 结束进程 ;

二、安全模式启动 Mysql

/usr/local/mysql/bin/mysqld_safe --skip-grant-tables & -----LINUX

windows 有二种途径:

1、在命令提示符下 进入安装路径: X:\。。。\bin\mysqld --skip-grant-tables

2、安装路径下编辑配置文件:X:\etc\my.ini 在最后一行加上 skip-grant-tables ,然后启动 服务 www.2cto.com

三、进入数据库,并修改管理密码

直接进入数据库,密码已恢复为空:

use mysql; -------------- 选择mysql 数据库;
update user set password=password(‘123‘) where user=‘root‘; ------------ 更改管理密码为 123

flush privileges; --------------- 刷新权限表

2).使用SQLYog客户端:
直接启动,在连接
界面填写:服务器IP,端口,用户名、密码,点击:连接
06.SQL语句的介绍:
1.普通话:标准的SQL语言,各个数据库厂商必须遵守的。
2.方言:个数据库厂商自己开发的基于的SQL的一些新功能的语法。只在自己的数据库
上有效。
07.SQL语言的分类:
1.DDL:数据定义语言,来定义数据库对象:逻辑数据库,表,列等。关键字:create(创建),alter(修改),drop(删除)等
2.DCL:数据控制语言.用来定义数据库的访问权限和安全级别,及创建用户。
3.DML【重点掌握】:数据操作语言。用来对数据库中表的"记录"进行更新。关键字:insert(添加),delete(删除),update(修改)等
4.DQL【重点掌握】:数据查询语言。用来查询数据库中表的"记录"。关键字:select(选择),from(从),where(在哪里)等
08.SQL通用语法:
1.SQL语句可以单行或多行书写,以分号结尾
2.可使用空格和缩进来增强语句的可读性
3.MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
例如:SELECT * FROM user。
4.注释:
1).#单行注释
2).--(空格)单行注释
3)./* ... */ 多行注释
09.数据库操作的相关语句:
1.创建数据库:
create database 数据库名;
或者
create database 数据库名 character set 字符集;
2.查看所有数据库:
show databases;
3.查看某个数据库的定义的信息:
show create database 数据库名;
4.删除数据库:
drop database 数据库名;
5.查看当前正在使用的数据库:
select database();
6.切换数据库:
use 数据库名;
10.表操作的相关语句:
1.创建表:
create table 表名(
字段名1 数据类型[长度] [约束],
字段名2 数据类型[长度] [约束],
...
字段名n 数据类型[长度] [约束]
);
例如创建一个学员信息表,存储:学号、姓名、性别、年龄
create table student(
stuNo int,
stuName varchar(200),
stuSex char(5),
stuAge int
);
2.Java的数据类型与MySQL中的数据类型
java数据类型 MySQL数据类型
------------------------------------------------------------
整数:
int int

小数:
float/double float/double/decimal(m,n)

字符:
char char

字符串:
String char(定长)/varchar(不定长)
在Java中char表示一个字符;而MySQL中的char表示:可变的字符串;
在MySQL中char和varchar的区别:
1.char:定长字符串:例如定义字段为:char(5):表示最多存储5个字符,如果不足5个字符,剩下的用空字符填充。
例如:定义char(5)-->要存储字符串"abc"-->在硬盘上存储的格式-->"abc "
要存储字符串"abcd"-->在硬盘上存储的格式-->"abcd "

2.varchar:不定长字符串:例如定义字段为:varchar(5):表示最多存储5个字符,如果不足5个字符,不填充空字符。
例如:定义varchar(5)-->要存储字符串"abc"-->在硬盘上存储的格式-->"abc"
要存储字符串"abcd"-->在硬盘上存储的格式-->"abcd"

注意:
1.char类型的在查询效率上要高于varchar,所以,尽量选择char类型;
2.对于字段的平均长度相同或者变化不大的数据,优先使用char类型。
例如:手机号码、身份证号、银行卡号....
3.对于字段的平均长度相差比较大的数据,建议使用varchar类型。
例如:个人介绍......
日期类型:
String
Date date(日期常用) 范围:YYYY-MM-DD 1000-01-01~9999-12-3
datetime【常用】(日期和时间)范围:YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00~ 9999-12-31 23:59:59
大文本:
String Text

文本二进制
byte[] binary

二进制(图片,视频)
byte[] Blob
3.查看数据库中的所有表:
show tables;
4.查看表结构:
desc 表名;
5.删除表:
drop table 表名;
6.修改表:
alter table 表名 add 列名 类型(长度) [约束];
作用:修改表添加列.
例如:
#1,为分类表添加一个新的字段为分类描述 varchar(20)
ALTER TABLE category ADD `desc` VARCHAR(20);

alter table 表名 modify 列名 类型(长度) 约束;
作用:修改表修改列的类型长度及约束.
例如:
#2, 为分类表的描述字段进行修改,类型varchar(50) 添加约束 not null
ALTER TABLE category MODIFY `desc` VARCHAR(50) NOT NULL;

alter table 表名 change 旧列名 新列名 类型(长度) 约束;
作用:修改表修改列名.
例如:
#3, 为分类表的分类名称字段进行更换更换为 snamesname varchar(30)
ALTER TABLE category CHANGE `desc`description VARCHAR(30);

alter table 表名 drop 列名;
作用:修改表删除列.
例如:
#4, 删除分类表中snamename这列
ALTER TABLE category DROP description;

rename table 表名 to 新表名;
作用:修改表名
例如:
#5, 为分类表category改名成 category2
RENAME TABLE category TO category2;

alter table 表名 character set 字符集;
作用:修改表的字符集
例如:
#6, 为分类表 category 的编码表进行修改,修改成 gbk
ALTER TABLE category CHARACTER SET gbk;

原文地址:https://www.cnblogs.com/haizai/p/11218703.html

时间: 2024-10-11 12:09:48

java核心技术第一篇之数据库基础的相关文章

第一章 oracle数据库基础

第一章   oracle数据库基础 1.oracle简介-->数据库管理系统    1.1:数据库    1.2:全局数据库名    1.3:数据库实例    1.4:表空间    1.5:数据文件(扩展名:.dbf)    1.6:控制文件(扩展名:.ctl)    1.7:日志文件(扩展名:.log)    1.8:模式和模式对象2.连接oracle数据库    2.1 SQL*Plus工具    2.2 PL/SQL Developer工具3.配置oracle数据库    3.1 配置监听

Java学习第一篇---Java入门准备

这是我的第一篇博客,以后也会写自己学习Java的过程.一些知识点.心得体会等,以此鼓励自己坚持学习! 现在开始了我学习Java的生涯:[个人下载的Jdk版本是jdk-8u5-windows-x64] 1.安装之后的目录: ->Source Code: 安装这个选项将会安装Java所有核心类库的源代码 ->bin: 该路径下存放了JDK的各种工具命令,常用的Javac.java等命令. ->db: 该路径是安装Java DB的路径[DB(data base,数据库)是依照某种数据模型组织起

学习java随笔第一篇:搭建java平台(java se)

电脑系统:windows8 在这里介绍一下java平台的3个版本: Java SE--Java Standard Edition,Java的标准版,主要用于桌面级的应用和数据库开发. Java EE--Java Enterprise Edition,Java的企业版,提供了企业级开发的各种技术,主要用于企业级开发. Java ME--Java Micro Edition,主要用于潜入式和移动式的开发,最常用的就是手机应用软件开发. 这里我们用的是java se 第一步:下载Java SE,下载地

第一篇:python基础_1

本篇内容 Python介绍 安装 第一个程序(hello,world) 变量 用户输入(input) 数据类型 数据运算 if判断 break和continue的区别 while 循环 一. Python介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种继承.之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫Monty Python的喜剧团

Java学习第一天:数据基础,打印质数的实现

第一天正式学习Java,写下这篇关于质数求解的文章,希望能更改进的更好. 首先说,以前在C上求解过质数的问题,当时没怎么在意.一直用的方法是从2开始递增到n-1,如果在这个过程中有一个数能被n整除,那么这个数就不是质数.这样做当然是没问题的最简单的一种方法. 之后看了一些文章的介绍,随着数学知识的增长,今天在学习Java语言上实现了这个想法,把这一过程记录如下: 先从最原始的递增法说起: 1.除了2之外,全部的质数是奇数,所以,循环数可以减少一般. 2.递增的界限不应是n-1,可以加以优化.对于

学习Java 的第一篇文章

第一章   Java基础 1.学习方法: 01.找一本好书 初始阶段不适合,可以放到第二个阶段,看到知识点时,要进行验证 02.查看帮助文档和搜索引擎的使用 借助网络上的Blog文章 03.不要急功近利 不要抱着速成的想法,否则必然走弯路     学习编程不是一蹴而就的事情     付出的成本高,才能有一个高薪的收入 04.不要浮躁 不要什么都学,只学有用的 浮躁的程度和技术水平成反比的     走自己的路,让别人去浮躁去吧! 每天问问自己,我是不是开始浮躁了,不能人云亦云. 05.学习语言基础

MySQL数据库学习【第一篇】数据库安装

一.基础部分 1.数据库是什么 之前所学,数据要永久保存,比如用户注册的用户信息,都是保存于文件中,而文件只能存在于某一台机器上. 如果我们不考虑从文件中读取数据的效率问题,并且假设我们的程序所有的组件都运行在一台机器上,那么用文件存取数据,并没有问题 但需要考虑的问题是:程序的执行效率依赖于承载它的硬件,而一台机器机器的性能总归是有限的,受限于目前的硬件水平,垂直扩展是有极限的.于是我们只能通过水平扩展来增强我们系统的整体性能,这就需要我们将程序的各个组件分布于多台机器去执行. 需要注意的是,

第一篇:Python基础入门

本篇主要分为六大类: Python简介 数据类型 print语句 注释 变量 字符串 一.Python简介:   python特点:优雅,明确,简洁 python适合开发:web python优点:代码少,开发速度快 python缺点:原代码不能加密 python是一种跨平台的编程语言,一种平台下的语言其它平台都能运行 python版本类型:2.7 3.6 区别:语法不相兼容,2.7版本在3.6版本上能直接运行: python安装(windows):2.7配置环境变量 python第一个程序:

Java高新技术第一篇:类加载器详解

首先来了解一下字节码和class文件的区别: 我们知道,新建一个Java对象的时候,JVM要将这个对象对应的字节码加载到内存中,这个字节码的原始信息存放在classpath(就是我们新建Java工程的bin目录下)指定的目录下的.class文件,类加载需要将.class文件导入到硬盘中,经过一些处理之后变成字节码在加载到内存中. 下面来看一下简单的例子: [java] view plain copy package com.loadclass.demo; import java.util.Dat