day04_MySQL学习笔记01
Posted haha
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day04_MySQL学习笔记01相关的知识,希望对你有一定的参考价值。
一、数据库概述
数据库(DataBase,DB):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。(文件系统)
数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。(软件)
数据库软件应该为数据库管理系统,数据库是通过数据库管理系统创建和操作的。
数据库:存储、维护和管理数据的集合。
DB与DBMS的关系图如下;
常见数据库管理系统:
Oracle:目前比较成功的关系型数据库管理系统。运行稳定、功能齐全、性能超群、技术领先。主要应用在大型的企业数据库领域。
DB2:IBM的产品。(大笨象数据库:伸缩性比较强,大小企业均适用)
SQL Server:Microsoft的产品。软件界面友好、易学易用,在操作性和交互性方面独树一帜。(收费软件)
PostgreSQL:加州大学伯克利分校以教学目的开发的数据库系统,支持关系和面向对象的数据库,属于自由数据库管理系统。
mysql:免费的数据库系统。被广泛用于中小型应用系统。体积小、速度快、总体拥有成本低、开放源代码。2008年被SUN收购,2009年SUN被Oracle收购。(短小精悍)
二、数据库的安装与配置
* 安装
* 参照图解
* 一路下一步
* 配置
* 参照图解
* 到选择字符集时停(选UTF-8)
* 配置环境变量
* 若安装的时候没有选择把mysql设置到环境变量path中,则需要手动配置环境变量
* MySQL默认安装在C:\\Program Files下。
1)新建 MYSQL_HOME 变量,并配置:C:\\Program Files\\MySQL\\MySQL Server 8.0
2)编辑 Path 系统变量,将 %MYSQL_HOME%\\bin 添加到path变量后
* 登录Mysql
* mysql -u 用户名 -p 回车后输入密码 例如:mysql -u root -p abc
* 或者 mysql -h 127.0.0.1 -u root -p 或者 mysql -h localhost -u root -p
* 卸载
1.停止mysql服务 net stop mysql 启动mysql服务 net start mysql
2.添加删除程序中卸载mysql
3.找到mysql安装目录下的 my.ini文件中 datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" 手动删除ProgramData目录下的Mysql文件夹(注意:ProgramData是隐藏文件)
* 修改密码
* 修改mysql root用户密码
1) 停止mysql服务 在cmd运行输入services.msc 停止mysql服务
或者 cmd --> net stop 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 服务
密码修改完成。
数据库中一行(一条)记录与对象之间的关系图:
列:字段
行:一条记录(一个实体或一个对象)
Java代码访问数据库,就会把数据一行一行的取出来,放在一个一个Java对象里面去,再把Java对象放在一个集合里面去,再去遍历集合。
public class User{
private int id;
private String name;
private int age;
}
三、SQL概述
SQL:Structure Query Language。(结构化查询语言)
SQL被美国国家标准局(ANSI)确定为关系型数据库语言的美国标准,后来被国际化标准组织(ISO)采纳为关系数据库语言的国际标准。
各数据库厂商都支持ISO的SQL标准。(普通话)
各数据库厂商在标准的基础上做了自己的扩展。(方言)
语言的发展流程:机器语言 --> 汇编语言 --> 高级语言 --> 数据库编程语言 --> 语音识别 --> 脑电波
四、SQL的分类
DDL(Data Definition Language):数据定义语言,用来定义数据库对象:库、表、列等;对对象进行操作。重要
常用关键字:CREATE、ALTER、DROP(create创建、alter修改、drop删除)
DML(Data Manipulation Language):数据操作语言,用来操作数据库表中的记录(数据);十分重要
常用关键字:INSERT、UPDATE、DELETE (insert插入、update更新、delete删除)
insert into 表名(列名1,列名2,...) values(值1,值2,…);
update 表名 set 列名1=值,列名2=值,… where 列名=值;
delete from 表名 where 列名=值;
DCL(Data Control Language):数据控制语言,用来定义访问权限和安全级别;本课程不涉及
DQL(Data Query Language):数据查询语言,用来查询记录(数据)。超级重要
SELECT(select xxx from xxx where xxx group by xxx having xxx order by xxx limit xxx)
where 使用到的关键字:
= != <> < > >= <=
in、between xxx and xxx、is full、is not full、and、or、not
通配符: _ 、% 例如:like ‘%张%’ like ‘张_’ like ‘张%’
注意:sql语句以;结尾
-----------------------------------------------------------------------------
4.1 DDL:操作数据库、表、列等
常用关键字:CREATE、ALTER、DROP(create创建、alter修改、drop删除)(字体蓝色加粗表示关键字)
4.1.1操作数据库
创建:
创建一个名称为mydb1的数据库
create database mydb1;
创建一个使用gbk字符集的mydb2数据库
create database mydb2 character set gbk;
创建一个使用gbk字符集,并带校对规则的mydb3数据库
create database mydb3 character set gbk collate gbk_chinese_ci;
查看:
查看当前数据库服务器中的所有数据库
show databases;
查看前面创建的mydb2数据库的定义信息
show create database mydb2;
列出可用的字符集
show character set;
修改:
把服务器中的数据库mydb2的字符集修改为utf8
alter database mydb2 character set utf8;
删除:
删除前面创建的mydb3数据库
drop database mydb3;
其他:
查看当前使用的数据库
select database();
切换数据库
use mydb2;
4.1.2操作数据表、列
语法:
create table 表名(
字段1 字段类型,
字段2 字段类型,
......
字段n 字段类型
);
常用数据类型:
int:整型
double:浮点型,例如:double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;
char:固定长度字符串类型; char(10) \'abc \' 不常用,但效率高
varchar:可变长度字符串类型;varchar(10) \'abc\' 常用这个
text:字符串类型;大数据量类型。
blob:字节类型;适合存:图片、音频、视频等
date:日期类型,格式为:yyyy-MM-dd
time:时间类型,格式为:hh:mm:ss
datetime:日期时间类型 yyyy-MM-dd hh:mm:ss
查看当前数据库中的所有表
show tables;
查看表的字段信息
desc 表名; 例如:desc emp;
在上面员工表的基本上增加一个名称为image的列
alter table emp add image blob; add 增加 column 列,可以不用写,默认就是列(注意:以上是关于day04_MySQL学习笔记01的主要内容,如果未能解决你的问题,请参考以下文章