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的分类

DDLData Definition Language:数据定义语言,用来定义数据库对象:库、表、列等;对对象进行操作。重要
常用关键字:CREATE、ALTER、DROP(create创建、alter修改、drop删除)
DMLData Manipulation Language:数据操作语言,用来操作数据库表中的记录(数据)十分重要
常用关键字:INSERT、UPDATE、DELETE (insert插入、update更新、delete删除)
    insert into 表名(列名1,列名2,...) values(值1,值2,…);
    update 表名 set 列名1=值,列名2=值, where 列名=值;
    delete from 表名 where 列名=值;
DCLData Control Language:数据控制语言,用来定义访问权限和安全级别本课程不涉及
DQLData Query Language:数据查询语言,用来查询记录(数据)超级重要
SELECTselect xxx from xxx where xxx group by xxx having xxx order by xxx limit xxx
where 使用到的关键字
    =  !=  <>  <  >  >=  <=
    inbetween xxx and xxx、is fullis not fullandornot
    通配符: _ 、%    例如:like ‘%%’     like ‘张_’        like ‘张%
注意:sql语句以;结尾

  -----------------------------------------------------------------------------

4.1 DDL:操作数据库、表、列等

常用关键字:CREATE、ALTER、DROPcreate创建、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
timestamp时间戳类型 yyyy-MM-dd 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的主要内容,如果未能解决你的问题,请参考以下文章

day13_Mysql事物与数据库连接池学习笔记

day05_MySQL学习笔记_02

Java学习笔记day_01

day04关于MySqL—Android小白的学习笔记

DAY22MySQL的学习笔记

day6-Python学习笔记(十四)接口开发