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;

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,874评论 0 9
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,117评论 0 19
  • 1.MySQL数据库 2.SQL语句 第一节课 ###1(MySQL数据库)数据库概念.avi 5...
    码了个农啵阅读 1,292评论 1 16
  • 一、数据库简介 1.数据库系统 1.1数据库 DataBase【DB】,指的是长期保存到计算机上的数据,按照一定顺...
    郑元吉阅读 655评论 0 6
  •   从2016年到2018年,不知不觉中我让自己变成了一个小胖子,体重从108斤直接飙到了131斤,如果不是今年以...
    刀刀大侠阅读 501评论 8 2

友情链接更多精彩内容