前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java核心技术第一篇之数据库基础

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

作者头像
海仔
发布2019-08-05 18:43:57
5580
发布2019-08-05 18:43:57
举报
文章被收录于专栏:海仔技术驿站海仔技术驿站

01.数据库的概念: 1).数据库的概念:数据库(Database),就是存储数据的仓库。 2).作用:用来存储和管理大量数据的。内部采用了非常便于查询的机制来存储数据,能保证我们在大量数据的情况下 可以很快,并且很准确为我们查询到所需记录。 3).什么是数据库管理系统:指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制, 以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。 02.数据库内部的结构: 数据库软件: |–逻辑数据库(跟项目相关) |–表 |–列 |–行(记录) |–表 … |–逻辑数据库(跟项目相关) … 03.Java和数据库的对应关系: java 数据库

代码语言:javascript
复制
    项目		逻辑数据库
类				表
类中成员属性	表的字段(列)
属性的数据类型	字段的数据类型
对象		表中的一行记录

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密码 (回车)

代码语言:javascript
复制
	可以在命令行上通过命令来开启与关闭服务器				
			开启  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; --------------- 刷新权限表

代码语言:javascript
复制
	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

代码语言:javascript
复制
	小数:
	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

代码语言:javascript
复制
	文本二进制
	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;
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年07月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 01.数据库的概念: 1).数据库的概念:数据库(Database),就是存储数据的仓库。 2).作用:用来存储和管理大量数据的。内部采用了非常便于查询的机制来存储数据,能保证我们在大量数据的情况下 可以很快,并且很准确为我们查询到所需记录。 3).什么是数据库管理系统:指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制, 以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。 02.数据库内部的结构: 数据库软件: |–逻辑数据库(跟项目相关) |–表 |–列 |–行(记录) |–表 … |–逻辑数据库(跟项目相关) … 03.Java和数据库的对应关系: java 数据库
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档