数据库一(在虚拟机中安装数据库,基本操作)

一、下载数据库

数据库安装资源

1.新建数据传输,将数据库安装包上传至虚拟机

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

2.安装数据库

1、查看mysql的依赖
rpm -qa | grep mysql
在这里插入图片描述

2、删除mysql的依赖
rpm -e --nodeps rpm -qa | grep mysql或者
rpm -e --nodeps rpm -qa | grep MySQL
在这里插入图片描述

3、离线安装mysql(cd 到mysql安装包目录下)
rpm -ivh MySQL-server-5.1.73-1.glibc23.x86_64.rpm
rpm -ivh MySQL-client-5.1.73-1.glibc23.x86_64.rpm
在这里插入图片描述
在这里插入图片描述
4、启动mysql服务
service mysql start
5、加入到开机启动项
chkconfig mysql on
6、初始化配置mysql服务(第一次直接回车,后面跟着提示设置密码,自己设置密码

执行脚本/usr/bin/mysql_secure_installation
在这里插入图片描述
上图是失败了,需杀死进程,重复执行4、5、6、
ctrl+c退出
ps aux | grep mysql
kill -9 端口号
在这里插入图片描述
执行4、5、6后,出现此,Y=》输密码=》确认密码=》回车=》回车
在这里插入图片描述

安装完成

二、设置用户,更改权限

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

三、使用数据库

1.库得操作

相关指令:

  • mysql -uroot -p123456 登录数据库
  • show databases 查询数据库
    在这里插入图片描述
  • create database shujuku; 
    创建数据库
  • create database if not exists shujuku;(可避免重复创建报错)
    创建数据库
  • show create database shujulu; 展示创建数据库得语句
  • drop database shujuku; 删除数据库
  • drop database if exists shujuku; 删除数据库
  • use shujuku; 切换到该数据库
  • select database(); 查看当前数据库
    在这里插入图片描述
    在这里插入图片描述注意:mysql不允许修改数据库名称

2.表得操作

数据库得一行称为一个记录,每个列称为字段

  • create table if not exists student(
    id int,
    name varchar(50),
    age int
    )engine =InnoDB default charset=utf8;
    创建一个表,字段为id name age

  • show tables;
    查看表
    在这里插入图片描述

  • show create table student;
    查看建表语句
    在这里插入图片描述
    DEFAULT NULL: 该字段默认为空,不想为空可以在字段后面加上not null,这样添加数据时,如果为该字段没数据,就会报错。
    ENGINE: 设置存储引擎
    CHARSET: 设置编码
    varchar: 可变字符长度

  • 标准得建表语句
    在这里插入图片描述
    auto_increment: 添加时,自动加一
    primary key: 设置主键

注意:
通常把字段唯一得设置为主键,
字段默认可以为空,
数据库得操作得字母不需要区分大小写。

  • drop table student;
    删除表
    在这里插入图片描述

3.修改表

  • alter table student1 add sex varchar(10) not null;
    在表中添加非空字段
    在这里插入图片描述
    注意:不能两个字段一起添加,一次只能添加一个

  • alter table student1 drop sex;
    删除字段
    在这里插入图片描述

  • alter table studnet1 modify sex int;
    修改字段类型,创建一个新的字段覆盖原来得字段,只能修改属性
    在这里插入图片描述

  • alter table studnet1 change sex sex1 int;
    既可以修改字段属性也可以修改字段名称
    在这里插入图片描述

  • alter table student1 character set 编码名称;
    修改编码格式

四、为了可视化数据库得操作和结果,需要下载navicat,并且激活

下载和激活资源:
链接:https://pan.baidu.com/s/1csoIY0TnBaYi32BHiNiCOA
提取码:hehe
复制这段内容后打开百度网盘手机App,操作更方便哦
安装教程

1.打开navicat,连接,mysql

在这里插入图片描述

连接虚拟机上得数据库
在这里插入图片描述

2.右键,编辑数据库,修改编码格式和排序规则

在这里插入图片描述

3.新建查询,在此次填写对数据库得操作,下面会显示结果,执行哪个选中哪个

在这里插入图片描述

五、操作数据(增删改查)

1.添加数据

insert into student1 () values();id为自增字段且为主键,可给可不给,自动加一
在这里插入图片描述

  • 单引号,双引号都可以给值,int型也可加引号
  • 添入得值要和前面得字段一一对应
    在这里插入图片描述

2.查询数据

 select查询
    	格式:select 字段 from 表名;
    	where子句:筛选数据
    		-- 比较运算符	>   <   <=   >=   =    <>	大于、小于、大于(小于)等于、不等于
    			例如:select * from student where age>=21;
			-- between  ...and...	显示在某一区间的值
				例如:select * from student where age between 21 and 23;
			-- in(set)	显示在in列表中的值,例:in(100,200)
				例如:select * from student where age in(21,23);
				注意:这是等值判断,判断多个值
			-- like '张_'	模糊查询  使用% 和 _
				例如:select * from student where name like 'z%';
				注意:%表示匹配所有 _表示匹配一个
			-- Is null	判断是否为空
				例如:select * from studen where name is not null;
			 
			-- 逻辑运算符	
			-- and	多个条件同时成立
				例如:select * from studen where name="zl" and sex="男";
		
			-- or	多个条件任一成立
				例如:select * from studen where name="zl" or sex="男";
			-- not	不成立,例:where not(expection>10000);
				例如:select * from studen where not name="zl";
		limit分页:
			格式1:数据 limit 行数;
				显示多少行数据
			格式2:数据 limti index,行数;
				从下标开始显示多少行数据
  • select * from student1;
    在这里插入图片描述
  • select * from student1 where age >=20;
    在这里插入图片描述
  • select * from student1 where age between 10 and 20;
    包含两边
    在这里插入图片描述
  • select * from student1 where age in (12,20,23);
    在这里插入图片描述
  • select * from student1 where name like “张_”;
    模糊查询,匹配一个

在这里插入图片描述

  • select * from student1 where name like “张%”;
    匹配多个
    在这里插入图片描述
  • select * from student1 where name is not null;
    因为开始时设置得name字段非空,所以空白显示并不是真得空。
    在这里插入图片描述
  • select * from student1 where age>=20 and sex=“女”;
    在这里插入图片描述
  • select * from student1 where (age<=20 and sex=“男”) or (age >=20 and sex=“女”);
    在这里插入图片描述
  • select * from student1 where not sex=“男”;
    在这里插入图片描述
  • select * from student1 limit 0,3;
    select * from student1 limit 3,3;
    分页查看,前面为下标,后面为从该下标开始要显示得行数,结尾不够时不显示。
    在这里插入图片描述
    在这里插入图片描述

3.更新数据(更改数据)

	update修改
		格式:update 表名 set 字段=值 whrere 筛选条件;
		例如:update student set sex="男";
		例如:update student set sex="男" where id between 10012 and 10014;
		注意:如果update修改没有加where子句,会把当前字段中所有数据都进行修改

在这里插入图片描述
在数据库中,注释用–表示,快捷键和Java用法一样,选中,CTRL+/

4.删除数据

delete删除:
		格式:delete from 表名 where 筛选条件;
		例如:delete from student;
		例如:delete from student where sex="男";

在这里插入图片描述

六、总结

登录mysql
	格式:mysql -u用户名 -p密码
    数据库的操作
		查看数据库:show databases;
		创建数据库:create database 库名;
		查看建库语句:show 建库语句;
		删除数据库:drop database 库名;
		为了避免存在还创建或者没有还删除,可以加上前提条件
		例如:create database if not exists 库名; 不存在才创建
		     drop database if exists 库名; 存在才删除
		切换数据库:use 库名
    	查看当前数据库:select database();
    	注意:mysql不允许修改数据库名!
    表的操作
    	建表语句:CREATE TABLE IF NOT EXISTS `runoob_tbl`(
				   字段
				)ENGINE=InnoDB DEFAULT CHARSET=utf8;
				ENGINE:存储引擎
				CHARSET:编码格式
			字段属性:字段属性默认可以为空
				not null:当前字段不可以为空
				AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
				PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔
			例如:create table if not exists student1(
					id int not null AUTO_INCREMENT,
					name varchar(50) not null,
					age int,
					PRIMARY KEY (id)
				)engine=InnoDB default charset=utf8;
			注意:通常把字段唯一的设置为主键
		查看建表语句:show create table 表名;
		删除表:drop table 表名;
修改表:
	添加列
		格式:alter table 表名 add 字段
	删除列
		alter table 表名 drop 字段
	修改列
		modify:创建一个新的字段去覆盖原来的字段,只能修改属性
			alter table 表名 modify 创建字段 
		change:可以修改属性,可以修改名称
			格式:alter table 表名 change 旧字段名称 字段名称 属性;
			例如:修改名称
				alter table studnet changer sex sex1 int;
			例如:修改属性
				alter table student changer sex1 sex1 varchar(50);
	修改表的字符集:
		格式:alter table 表名 chararter set 字符集;
操作数据:增删改查
	insert添加
		格式:insert into 表名(字段1,字段2...) values(值1,值2...);
		注意:id为主键时,id可给可不给
		    有多少个字段,要有多少个值
		    引号可以给数值加上,并赋值给int数据类型的字段
    select查询
    	格式:select 字段 from 表名;
    	where子句:筛选数据
    		-- 比较运算符	>   <   <=   >=   =    <>	大于、小于、大于(小于)等于、不等于
    			例如:select * from student where age>=21;
			-- between  ...and...	显示在某一区间的值
				例如:select * from student where age between 21 and 23;
			-- in(set)	显示在in列表中的值,例:in(100,200)
				例如:select * from student where age in(21,23);
				注意:这是等值判断,判断多个值
			-- like '张_'	模糊查询  使用% 和 _
				例如:select * from student where name like 'z%';
				注意:%表示匹配所有 _表示匹配一个
			-- Is null	判断是否为空
				例如:select * from studen where name is not null;
			 
			-- 逻辑运算符	
			-- and	多个条件同时成立
				例如:select * from studen where name="zl" and sex="男";
		
			-- or	多个条件任一成立
				例如:select * from studen where name="zl" or sex="男";
			-- not	不成立,例:where not(expection>10000);
				例如:select * from studen where not name="zl";
		limit分页:
			格式1:数据 limit 行数;
				显示多少行数据
			格式2:数据 limti index,行数;
				从下标开始显示多少行数据
	update修改
		格式:update 表名 set 字段=值 whrere 筛选条件;
		例如:update student set sex="男";
		例如:update student set sex="男" where id between 10012 and 10014;
		注意:如果update修改没有加where子句,会把当前字段中所有数据都进行修改
	delete删除:
		格式:delete from 表名 where 筛选条件;
		例如:delete from student;
		例如:delete from student where sex="男";
mysql对大小写不敏感,但是表名区分大小写

java
java入门基础学习(一)
java入门基础学习(二)
java入门基础学习(三)
java入门基础学习(四)
java入门基础学习(五)
java入门基础学习(六)
java入门基础学习(七)
java入门基础学习(八)
java入门基础学习(九)
java入门基础学习(十)
java入门基础学习(十一)
java入门基础学习(十二)
java入门基础学习(十三)
java入门基础学习(十四)Maven Git
java总结,题目+笔记
java进阶之常见对象(一)
java进阶之常见对象(二)
java进阶之冒泡排序
java进阶之选择排序
java进阶之面向对象(封装)
java进阶之面向对象(代码块、继承)
java进阶之面向对象(多态、抽象、接口)
java进阶之匿名内部类、访问修饰符、包
java进阶之io流(字节流,字符流)
Linux
Linux基础一
Linux基础二

  • 9
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值