MySQL的安装和使用

MySQL

MySQL的安装和使用

1、解压
2、把包放到自己的环境目录下
3、添加环境变量 将MySQL的的
4、新建配置文件

//my.ini文件
[mysqld]
basedir=D:\Environment\mysql-5.7.33\  -----mysql的安装目录
datadir=D:\Environment\mysql-5.7.33\data\    ----解压之后的文件夹里一开始没有也不要自己新建,后面会自动生成
port=3306
skip-grant-tables   -----首次登陆未设置密码,可按回车跳过密码

5、管理员模式启动CMD,并将路径切换到MySQL的bin目录下```
cd /d D:\Environment\mysql-5.7.33\bin
```然后输入mysqld -install(安装MySQL)

6、再输入```mysqld --initialize-insecure --user=mysql
```sh初始化数据文件

7、启动服务 ```net start mysql```

8、连接数据库 ```mysql -u root -p```

9、连成功后更改密码```
update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';

10、刷新权限

flush privileges;

11、删除

my.ini文件后的最后一句 skip-grant-tables

12、重启MySQL即可正常使用

exit   //推出mysql
net stop mysql   //停止服务
net start mysql   //启动服务

连接MySQL

SQLyog数据可可视化工具

创建第一个数据库

*[每一个SQLyog操作都对应一个SQL操作,在历史记录里可以看到]:
创建一个school数据库
新建表

在这里插入图片描述

新建表
查看表 右键 打开表 添加数据
在这里插入图片描述

1.7 命令行连接数据库


mysql -u root -p123456  --连接数据库

update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost';   --修改用户密码

flush privileges;    -- 刷新权限

-------------------------------------
--所有的语句都用;结尾

show databases;  -- 查看所有的数据库

use school  --奇幻数据库 use 数据库名

show tables;  -- 查看数据库中所有的表

describe tables;  -- 显示表中信息

create database westos;  --创建一个数据库

exit;   -- 退出连接

-- 单行注释(SQL的本来注释)

/*   (SQL的多行注释)
hello
数据库
jhgbjb
*/
数据库的xxx语言
CV程序员 API程序员 CRUD程序员(业务程序员)

DDL 定义
DML 操作
DQL 查询
DCL 控制

2、操作数据库

2.1 增删查改

1、创建数据库

--创建数据库
CREATE DATABASE IF NOT EXISTS westos;

2、删除数据库
DROP DATABASE IF EXISTS westos

3、使用数据库
--tab键上面 如果你的表名或者字段名是一个特殊字符,就要带  `` ,比如`user`

use `school`

4、查看数据库
SHOW DATABASES

2.2 数据库的列类型

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 数据库的字段属性(重点)

在这里插入图片描述
在这里插入图片描述
#拓展#
在这里插入图片描述

2.4 创建数据库表

-- 目标 :创建一个school数据库
-- 创建学生表(列,字段) 使用SQL创建
-- 学号int 登陆密码varchar(20) 姓名,性别varchar(2),出生日期(datatime),家庭住址,Email

-- 注意点,使用英文的(), 表的名称 和 字段 尽量用 `` 括起来(tab键上面) 注意不是''
-- AUTO_INCREMENT 自增
-- 字符串使用 单引号括起来
-- 所有的语句后面加,(英文的,)最后一个不用加
-- PRIMARY KEY 主键, 一般一个表只有一个唯一的主键

create table if not exists `student` (
	`id` int(4) not null auto_increment comment '学号',
	`name` varchar(30) not null default '匿名' comment '姓名',
	`pwd` varchar(20) not null default '123456' comment '密码',
	`sex` varchar(2) not null default '女' comment '性别',
	`birthday` datetime default null comment '出生日期',
	`address` varchar(100) default null comment '家庭住址',
	`email` varchar(50) default null comment '邮箱',
	primary key(`id`)

		
)engine=innodb default charset=utf8

/*
格式 [] 表示可选 非必要

create table [if not exists] `表名`(

`字段名` 列类型 [属性][索引][注释],
`字段名` 列类型 [属性][索引][注释],
......
`字段名` 列类型 [属性][索引][注释],
`字段名` 列类型 [属性][索引][注释]

)[表类型][字符集设置][注释]


#常用命令#
SHOW CREATE DATABASE school  -- 查看创建数据库的语句 

SHOW CREATE TABLE student    -- 查看表的定义语句

DESC student                 -- 显示表的结构

*/

2.5 、数据表的类型


-- 关于数据库引擎
/*
INNODB   默认使用~
MYISAM 早些年使用
*/

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.6 、修改删除表

#修改表#

-- 修改表名  alter table 旧表名 rename as 新表名
ALTER TABLE student RENAME AS student1

-- 添加字段   alter table 表名 add 字段名 列属性
ALTER TABLE student1 ADD age INT(11)

-- 修改表的字段  (重命名,修改约束!)   alter table 表名 modify 字段名 列属性
ALTER TABLE student1 MODIFY age VARCHAR(11)  -- 修改约束

-- ALTER TABLE 表名 CHANGE 旧字段名 新字段名 列属性
ALTER TABLE student1 CHANGE age age1 INT(1)   -- 字段重命名
 
-- 删除表的字段    ALTER TABLE 表名 DROP 字段名
ALTER TABLE student1 DROP age1

#删除表#

DROP TABLE IF EXISTS student1

在这里插入图片描述

3、MySQL数据管理

3.1 外键(了解即可)

在这里插入图片描述

在这里插入图片描述
#方式二#

在这里插入图片描述
在这里插入图片描述

3.2 DML语言(全部记住)

在这里插入图片描述

3.3 添加

#insert#
在这里插入图片描述
在这里插入图片描述

3.4 修改

#update#
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.5 删除

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

CREATE TABLE `category`( 
`categoryid` INT(10) unsigned NOT NULL auto_increment COMMENT 'id', 
`pid` INT(10) NOT NULL COMMENT '父id', 
`categoryname` VARCHAR(50) NOT NULL COMMENT '种类名字', 
PRIMARY KEY (`categoryid`) 
) ENGINE=INNODB auto_increment=9 default charset=utf8

INSERT INTO `category` (`categoryid`, `pid`, `categoryname`) 
VALUES ('2', '1', '信息技术'),
('3', '1', '软件开发'),
('5', '1', '美术设计'),
('4', '3', '数据库'),
('8', '2', '办公信息'),
('6', '3', 'web开发'),
('7', '5', 'ps技术');

在这里插入图片描述

*[子类中的美术设计是ps技术]:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
https://dev.mysql.com/doc/refman/8.0/en/sql-function-reference.html

5.1 常用函数

在这里插入图片描述

5.2 聚合函数(常用)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

事务的执行过程

在这里插入图片描述
在这里插入图片描述

模拟转账事务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
mysql-connector-java-5.1.47

在这里插入图片描述

导入jdbc库

在这里插入图片描述
在这里插入图片描述

package com.kuang.lesson01;


import java.sql.*;

import static java.sql.DriverManager.getConnection;

// 我的第一个jdbc程序
public class JdbcFirstDemo {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        //1.加载驱动
        Class.forName("com.mysql.jdbc.Driver");//固定写法 加载驱动

        // 2、用户信息和url
        String url = "jdbc:mysql://localhost:3306/jdbcStudy?useUnicode=true&characterEncoding=utf8&useSSL=false";
        String username = "root";
        String password = "123456";
        //3、链接成功 返回数据库对象
        Connection connection = DriverManager.getConnection(url,username,password);
        //4、返回执行SQL的对象 Statement 执行sql的对象
        Statement statement = connection.createStatement();
        //5、用执行SQL的对象去执行SQL 可能存在结果 查看返回结果
        String sql = "SELECT * FROM users";

        ResultSet resultSet = statement.executeQuery(sql);//返回的结果集 结果集中封装了全部我们查询出来的结果

        while(resultSet.next()){
            System.out.println("id=" + resultSet.getObject("id"));
            System.out.println("name=" + resultSet.getObject("NAME"));
            System.out.println("pwd=" + resultSet.getObject("PASSWORD"));
            System.out.println("email=" + resultSet.getObject("email"));
            System.out.println("birth=" + resultSet.getObject("birthday"));
        }


        //6、释放连接

        resultSet.close();
        statement.close();
        connection.close();



    }
}

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值