【大数据开发】MySQL数据库——增删改查day24

今天开始学习数据库了

一、MySQL简介

在这里插入图片描述
SQL分类
在这里插入图片描述
数据类型
在这里插入图片描述

二、MySQL语句

查看当前正在使用的数据库
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
NULL表示该字段的值是未知的,不确定的,NULL不是一个值
": 表示空值,是一个数值。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
delete和truncate的区别:
在这里插入图片描述

三、总结

数据库:database

数据库管理系统:DBMS  database management system

mysql  oracle  sqlserver db2

安装完成:

services.msc  --进入到服务

MySql是一个数据库服务软件,在服务中可以看到它的 服务名称:MySQL57

服务必须是启动的状态,才可以使用MySql

服务的启动和停止:

1:鼠标操作

2:命令操作:  net start mysql57  net stop mysql57

注意:以服务运行的程序都有自己的端口: 3306,不要让其它程序占用该端口

如果端口被占用了,使用  netstat -ano 命令查看占用端口的 PID,然后把该进程杀掉



配置环境变量:

    配置:  MYSQL_HOME  C:\Program Files\MySQL\MySQL Server 5.7
	        PATH        %MYSQL_HOME%\bin
			
连接到mysql: 通过客户端连接服务端	

   1:使用Mysql自带的客户端连接到mysql服务  
      
      使用安装时配置的root用户的用户名和密码登录到mysql	
      root是超级用户	

   2:使用cmd命令窗口作为客户端登录到mysql	
       
      mysql -uroot -p密码	  

   3:使用客户端工具连接到mysql	
   
   
 修改密码:

1. 先连接到mysql 

    mysql> alter user 用户名@localhost identified by‘新密码'; 
   
2:先连接到mysql 

    mysql> set password for root@localhost=password('mmforu');  
	
3. 先连接到mysql ,修改存放用户信息的user表中的用户的密码

    use mysql;//指定数据库

    //修改密码	
	update user set authentication_string=password('新密码') where user='root' and host='localhost';
	
	flush privileges;
	
 4. 不需要连接到mysql 
 
    mysqladmin -uroot –p旧密码 password 新密码 
	
	
忘记密码:

1:停止mysql服务

2:修改mysql的配置文件   C:\ProgramData\MySQL\MySQL Server 5.7\my.ini

    78 行加入  skip-grant-tables   跳过密码验证
	
3:	启动mysql服务

4. 连接到mysql,只需要输入  mysql

5.修改密码  使用修改密码的第三种方式

   use mysql;
   update user set authentication_string=password('root') where user='root' and host='localhost';
   flush  privileges
   
 6.停止mysql服务  修改my.ini ,把skip-grant-tables删掉
 
 7:启动mysql服务,连接到mysql
 
 
 SQL:Structured Query Language  结构化查询语言
 
 分类方式:
 
 DDL  定义
 DML  操纵
 DQL  查询
 DCL  控制
 TCL 事务控制语言
 
 数据库的创建:create database 数据库名
 
 mysql 中可以创建多个数据库,数据是存在数据库中的
 
 通常情况下一个项目对应一个数据库
 
 create database bg1;
 
 show databases; //查看所有数据库
 
 show create database bg1;//查看创建数据库的sql语句
 //数据库的编码和mysql配置文件my.ini中配置的编码一致
 
 alter database bg1 character set gbk;  //修改数据库的编码
 
 show character set;  //查看所有的编码
 
 drop database 数据库名;  //删除数据库
 
 
 创建表:数据是以表的形式来存储的,所以创建完数据库,需要在数据库中创建表
 
 语法:
     create table 表名(
		 字段名   数据类型,
		 字段名   数据类型,
		 字段名   数据类型,
		 ......
		 字段名   数据类型
	 )
	 
	 
	数据类型:
	
	    整型 :int
		浮点型:double,float,decimal
		字符型:
		        char(20) 'abc                '
				varchar(20) 'abc'   
				text 大文本  65535byte
				
		date: 日期   yyyy-MM-dd
        time: 时间   HH:mm:ss
		
        datetime:日期时间类型
		
        timestamp:该类型的字段会自动填充当前时间		
				
	 
   确定表建在哪个数据库中?use bg1;
                           select database()  查看当前正被使用的数据库
						   
   show tables; //查看所有的表

   desc 表名;//查看表结构   
   
   show create table stu;//查看创建表的sql语句
   
   alter table stu add address varchar(30);  //向表中添加字段
   
   alter table stu modify address varchar(50);//修改表中已有字段
   
   alter table stu drop address;//删除表中字段
   
   rename table stu to stus;//修改表名
   
   drop table stus;//删除表
   
   
   向表中添加记录:1次添加一条记录
   
         1:表中的每个字段都有值(表中所有字段都有对应的值)
		 
		     insert into 表名 values(1,值2...)
			 值要和字段顺序一致,个数一致,数据类型一致
			 
			 
	     2:表中部分字段有值,部分没有值
		    
			insert into 表名(字段名,字段名,...) values()
			值要和字段顺序一致,个数一致,数据类型一致
			
			
						   
	1次添加多条记录:

            insert into tableName values 
			(value1,value2,value3,......valueN),
			(value1,value2,value3,......valueN),
			(value1,value2,value3,......valueN)
	
 
 NULL 表示该字段上的值是未知的,NULL不是一个值
 
 '':表示空值,是一个数值
 
 
 修改表中记录:
 
        update 表名 set 字段名1=修改之后的值,[字段名2=修改之后的值]... [where 条件]
		
		满足条件的记录被修改
		
		update stus set sex='f',birthday='2000-12-12' where id=5;
		
删除表中记录:
        //逐条删除记录,可以回滚的(可以撤销)
        delete from 表名   ----删除表中所有记录	

        delete from 表名 [where 条件]   ----删除表中满足条件的记录
		
		
        //把整个表删掉,然后再创建一个相同的表,不能回滚
        truncate table 表名	

		
  ***********创建数据库,在数据库中创建表,对表进行添加修改删除
  
  

  查询: 基于表中已经存在的数据,得到我们想要的数据
         查询的结果以表的形式显示,但并不是真正的表,称为虚拟表 


         select 字段名,字段名...  from 表名	[where 条件]	

         *表示所有字段	


基本查询: >  >=  <  <=  <> !=  not  and  or   in  not in    between...and 
 
           is null  is not null 

           like  _  %

四、作业

-------------------------------------------------------------------------
数据库操作
一、数据库的创建:
	1、创建一个名称为mydb1的数据库
	    
	2、创建一个使用utf8字符集的mydb2数据库。	
	    
二、数据库的修改:
	修改mydb2字符集为gbk;
	
三、数据库的删除:
	删除数据库mydb3。
	
四、数据库查看:
	查看所有数据库。
	
	查看数据库mydb1的字符集


-- CREATE DATABASE mydb2;

-- CREATE database mydb2 character set UTF8 ;

-- alter database mydb2 character set gbk;

-- create database mydb3;
-- drop database mydb3;

-- show databases;

-- show character set;
-----------------------------------------------
数据库中表操作的sql
一、创建表
	1、创建一张员工表employee
			字段		类型
			id			整形
			name		字符型
			gender		字符型
			birthday    日期型
			entry_date  日期型
			job			字符型
			salary		小数型
			resume		文本

	2、创建一张员工表employee2
			字段		类型
			id			整形
			name		字符型
			gender		字符型
			birthday    日期型
			entry_date  日期型
			job			字符型
			salary		小数型
			resume		文本
	



二、删除表
	1、删除employee2表
	
三、数据表的结构的修改:
	1、在上面员工表的基本上增加一个image列。
  	 
	2、修改job列,使其长度为603、删除gender列。
	  
	4、表名改为user。
	  
	5、修改表的字符集为utf8
	
	   
四、查看表结构
	1、查看数据库内的所有表
	   
	2、查看employee的建表语句
	  
	3、查看employee的表结构
	  
----------------------------------------------------
表记录的操作
一、插入语句 ---insert
	1、向employee中插入三个员工信息,要求员工姓名分别是zs,ls,wangwu

二、更新语句 ---update
	1、将所有员工薪水修改为5000元。
	   
	2、将姓名为’zs’的员工薪水修改为3000元。
	    
	3、将姓名为’ls’的员工薪水修改为4000,job改为ccc。
	    
	4、将wangwu的薪水在原有基础上增加1000元。
	   
	   
三、删除语句 ---delete
	1、删除表中名称为’zs’的记录。
	   
	2、删除表中所有记录。
	   
四、查询语句 ---select
	create table exam(
		id int ,
		name varchar(20) ,
		chinese double,
		math double,
		english double
	);
	insert into exam values(1,'关羽',85,76,70);
	insert into exam values(2,'张飞',70,75,70);
	insert into exam values(3,'赵云',90,65,95);
	insert into exam values(4,'刘备',97,50,50);
	insert into exam values(5,'曹操',90,89,80);
	insert into exam values(6,'司马懿',90,67,65);

	练习:
	1、查询表中所有学生的信息。
 	   
	2、查询表中所有学生的姓名和对应的英语成绩。
	   
?	3、过滤表中重复数据。
	   
?	4、在所有学生分数上加10分特长分。

	5、统计每个学生的总分。
       
	
	  
	-----使用where子句

	7、查询姓名为刘备的学生成绩
	    
	8、查询英语成绩大于90分的同学
	   
	9、查询总分大于200分的所有同学
	  
	10、查询英语分数在 8090之间的同学。
           
	11、查询数学分数为89,75,91的同学。
	    
	12、查询所有姓刘的学生成绩。
	    
	13、查询所有姓刘两个字的学生成绩。
	    
	14、查询数学分>80并且语文分>80的同学。
	    
	15、查询数学分>80 或者 语文分>80的同学。
	   
	
	   
	
	

	
	-- 一、1.
-- use mydb1;
-- create table employee(
-- id int,
-- name char(20),
-- gender char(2),
-- birthday date,
-- entry_date date,
-- job char(20),
-- salary float,
-- resume text
-- );


-- 一、2.
-- use mydb1;
-- create table employee2(
-- id int,
-- name char(20),
-- gender char(2),
-- birthday date,
-- entry_date date,
-- job char(20),
-- salary float,
-- resume text
-- );

-- 二、1.
-- use mydb1;
-- drop table employee2;
-- show tables;


-- 三、1.
-- alter table employee add image varchar(50);
-- desc employee;

-- 三、2.
-- alter table employee modify job char(60);
-- desc employee;

-- 三、3.
-- alter table employee drop gender;
-- desc employee;

-- 三、4.
-- rename table employee to user;

-- 三、5.
-- alter table user character set utf8;

-- 四、查看表结构
-- 	1、查看数据库内的所有表
-- show tables;

-- 	2、查看employee的建表语句
-- show create database mydb1;
-- rename table user to employee;
-- show create table employee;

-- 	3、查看employee的表结构
-- desc employee;





-- 表记录的操作
-- 一、插入语句 ---insert
-- 1、向employee中插入三个员工信息,要求员工姓名分别是zs,ls,wangwu

-- insert into employee(name) values
-- ('ze'),
-- ('ls'),
-- ('wangwu');
-- select * from employee;

-- 
-- 二、更新语句 ---update
-- 	1、将所有员工薪水修改为5000元。
-- update employee set salary=5000;
-- select * from employee;

-- 	2、将姓名为’zs’的员工薪水修改为3000元。
-- update employee set salary=3000 where name='zs';
-- select * from employee;


-- 	3、将姓名为’ls’的员工薪水修改为4000,job改为ccc。
-- 	    
-- update employee set salary=4000,job='ccc' where name='ls';
-- select * from employee;

-- 	4、将wangwu的薪水在原有基础上增加1000元。

-- update employee set salary=salary+1000 where name='wangwu';
-- select * from employee;

-- 三、删除语句 ---delete
-- 	1、删除表中名称为’zs’的记录。
-- delete from employee where name='zs';
-- select * from employee;
-- 	2、删除表中所有记录。
-- delete from employee;
-- select * from employee;







-- 四、查询语句 ---select
-- 	create table exam(
-- 		id int ,
-- 		name varchar(20) ,
-- 		chinese double,
-- 		math double,
-- 		english double
-- 	);
-- 	insert into exam values(1,'关羽',85,76,70);
-- 	insert into exam values(2,'张飞',70,75,70);
-- 	insert into exam values(3,'赵云',90,65,95);
-- 	insert into exam values(4,'刘备',97,50,50);
-- 	insert into exam values(5,'曹操',90,89,80);
-- 	insert into exam values(6,'司马懿',90,67,65);



-- 练习:
-- 	1、查询表中所有学生的信息。
-- select * from exam;

-- 	2、查询表中所有学生的姓名和对应的英语成绩。
-- select name, english from exam;

-- 3、过滤表中重复数据。
-- select distinct * from exam;

-- 4、在所有学生分数上加10分特长分。
-- update exam set chinese=chinese+10,math=math+10,english=english+10;
-- select * from exam;

-- 	5、统计每个学生的总分。-- 	
-- select name,chinese+math+english from exam;


-- 	-----使用where子句
-- 
-- 	7、查询姓名为刘备的学生成绩
-- select name,chinese,math,english from exam where name='刘备';
-- 	    
-- 	8、查询英语成绩大于90分的同学
-- select name,english from exam where english>90;

-- 	9、查询总分大于200分的所有同学
-- select name,chinese+math+english from exam where chinese+math+english>200;

-- 	10、查询英语分数在 8090之间的同学。
-- select name,english from exam where english between 80 and 90;
-- select name,english from exam where english>=80 and english<=90;

-- 	11、查询数学分数为89,75,91的同学。
-- select name,math from exam where math in(89,75,91);

-- 	12、查询所有姓刘的学生成绩。
-- select * from exam where name like '刘%';

-- 	13、查询所有姓刘两个字的学生成绩。
-- select * from exam where name like '刘_';

-- 	14、查询数学分>80并且语文分>80的同学。
-- select * from exam where math>80 and chinese>80;

-- 	15、查询数学分>80 或者 语文分>80的同学。
-- select * from exam where math>80 or chinese>80;

五、ALTRT、UPDATE区别

1、作用区别:

ALTRT用来修改基本表,是对表的结构进行du操作,比如对字zhi段的增加、删除、修dao改类型

UPDATE用来修改表中的数据,修改某一行某一列的值

2、从本质上区分:

Alter是数据定义语言(Data difinition Language),在修改表的结构时,不需要Commit和Rollback。

Update是数据数据操作语言(Data manipulation Language),在修改数据值时,需要Commit和Rollback,否则提交的结构无效

扩展资料

Alter用法

1、删除列

ALTER TABLE 【表名】 DROP 【列名】

2、增加列
ALTER TABLE 【表名】 ADD 【列名】 【类型】

3、重命名列

ALTER TABLE 【表名】 CHANGE 【列名】【新名】

4、修改表字段

alter table 表名称 change 字段名称 字段名称 字段类型 [是否允许非空]

Update用法

修改表中字段

update 表名 set 字段=新值 where 主键=值

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Spring Boot连接MySQL数据库实现增删的步骤如下: 1. 在pom.xml文件中添加MySQL数据库驱动依赖。 2. 在application.properties文件中配置MySQL数据库连接信息,包括数据库URL、用户名、密码等。 3. 创建实体类,用于映射数据库表结构。 4. 创建DAO层接口,定义增删等操作方法。 5. 创建DAO层实现类,实现DAO层接口中定义的方法。 6. 在Service层中调用DAO层中的方法,实现业务逻辑。 7. 在Controller层中调用Service层中的方法,处理HTTP请求。 8. 编写测试类,测试增删等操作是否正确。 以上就是Spring Boot连接MySQL数据库实现增删的基本步骤。 ### 回答2: SpringBoot是一个非常流行的JavaWeb开发框架,它是基于Spring框架的,可以让我们更快速地开发Web应用程序。为了让我们更好地使用SpringBoot开发应用,我们需要学习如何通过SpringBoot连接MySQL数据库,并实现对其进行增删。 首先,我们需要在pom.xml文件中添加MySQL数据库的依赖: ``` <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.22</version> </dependency> ``` 然后,我们还需要在 application.properties 文件中添加数据库的配置信息: ``` spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC&characterEncoding=UTF-8&useSSL=false spring.datasource.username=root spring.datasource.password=root ``` 在以上配置中,spring.datasource.driver-class-name 指定了MySQL的驱动类,spring.datasource.url 指定了连接MySQL数据库的URL,spring.datasource.username 和 spring.datasource.password 则分别指定了数据库的用户名和密码。 在连接MySQL数据库之后,我们可以通过 Spring Data JPA 来操作数据库。首先,我们需要在 pom.xml 文件中添加Spring Data JPA依赖: ``` <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> ``` 然后,我们需要定义一个实体类,用于与数据库中的表进行映射。例如,下面是一个名为User的实体类: ``` @Entity @Table(name = "user") public class User implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; private Integer age; // 省略getter和setter方法 } ``` 在上述代码中,@Entity 注解表示这个类是一个实体类,@Table 注解则指定了映射到的数据表名。@Id 和 @GeneratedValue 注解用于指定主键的生成方式。 接下来,我们需要定义一个 Repository 接口,用于执行增删操作。例如,下面是一个名为UserRepository的接口: ``` public interface UserRepository extends JpaRepository<User, Long> {} ``` 在上述代码中,我们继承了 JpaRepository 接口,并指定了要操作的实体类 User 和主键类型 Long。 最后,我们就可以在SpringBoot应用程序中依赖注入 UserRepository 接口,并通过它来进行增删操作了。例如,下面是一个名为UserController的类,用于处理增删请求: ``` @RestController @RequestMapping("/users") public class UserController { @Autowired private UserRepository userRepository; @GetMapping("/") public List<User> getUserList() { return userRepository.findAll(); } @PostMapping("/") public User saveUser(User user) { return userRepository.save(user); } @PutMapping("/") public User updateUser(User user) { return userRepository.save(user); } @DeleteMapping("/{id}") public void deleteUser(@PathVariable("id") Long id) { userRepository.deleteById(id); } } ``` 在上述代码中,我们使用 @Autowired 注解将 UserRepository 接口注入到 UserController 类中,并实现了以下四个方法: - getUserList():用于询所有用户信息。 - saveUser():用于新增用户信息。 - updateUser():用于修用户信息。 - deleteUser():用于删除指定ID的用户信息。 通过以上步骤,我们就可以在SpringBoot应用程序中连接MySQL数据库,并实现对其进行增删操作了。 ### 回答3: Spring Boot是一种快速开发框架,它可以轻松地连接MySQL数据库以实现增删等功能。以下是如何使用Spring Boot连接MySQL数据库实现增删。 1. 添加MySQL驱动 Spring Boot默认支持连接H2数据库,但要连接MySQL数据库,需要在pom.xml文件中添加MySQL驱动。在dependencies标签中添加以下代码: ``` xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.18</version> </dependency> ``` 这将在Maven仓库中搜索最新版本的MySQL驱动,并将其添加到项目中。 2. 配置数据源 数据源是连接MySQL数据库的关键。在application.properties或application.yml文件中,添加以下代码来配置数据源: ``` yaml spring.datasource.driverClassName=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/test?serverTimezone=UTC spring.datasource.username=root spring.datasource.password=123456 ``` 这将配置一个数据源,其中MySQL URL和MySQL的用户名和密码被指定。这里采用的是jdbc:mysql://localhost:3306/test?serverTimezone=UTC这个地址,其中test是数据库名称,serverTimezone指定时区,这个可以不用加。 3. 实现增删 通过添加Spring Boot的Data JPA依赖来实现增删功能。在pom.xml文件中添加以下代码: ``` xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> ``` 通过创建实体类,这里以User实体为例: ``` java @Entity @Table(name = "user") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String username; private String password; // 省略setter和getter方法 } ``` 其中@Id和@GeneratedValue用于定义实体的主键,并自动创建一个自增的主键。 实现增删需要创建一个JpaRepository接口: ``` java @Repository public interface UserRepository extends JpaRepository<User, Long> { } ``` JpaRepository是Spring Boot中用于实现CRUD操作的接口,其中User是对应的实体类,Long是对应的主键类型。 通过定义Repository接口,在Service或Controller中实现增删功能: ``` java @Service public class UserService { @Autowired private UserRepository userRepository; public User getUserById(Long id) { return userRepository.findById(id).orElse(null); } public void addUser(User user) { userRepository.save(user); } public void updateUser(User user) { userRepository.save(user); } public void deleteUser(Long id) { userRepository.deleteById(id); } } ``` 这里UserRepository是使用@Autowired自动注入的,getUserById方法用于询用户,addUser、updateUser和deleteUser方法用于添加、更新和删除用户。 以上就是使用Spring Boot连接MySQL数据库实现增删的详细步骤。如果您按照上述步骤进行操作,即可成功连接MySQL数据库并实现增删等功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值