java学习之mysql(1)

mysql介绍

mysql是一个关系型数据库管理系统,主要用来管理数据库的。
一个数据库下面可以有多个数据库。一个数据库下面可以有多个表,一张表中可以有多条数据。

为什么要用mysql:
1、成本低
2、开源
3、体积小
4、运行快
综上所述:mysql适用于中小型企业。

sql:结构化查询语言,专门为了数据库设计的一门语言,主要用于数据库数据存储,所有的关系型数据库会遵守这个标准。

关系型数据库:遵守sql标准的数据库。百度百科(关系型数据库,是指采用了关系模型来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由二维表及其之间的关系组成的一个数据组织。 [1
非关系型数据库:不遵守sql标准的数据库(nosql)

一些命令行的操作

1、登录mysql
mysql -hIP地址 -u账号 -p
示例:
在这里插入图片描述
2、输入密码进入之后,查看数据库
show databases;
在这里插入图片描述
3、创建数据库和删除数据库
create database 数据库名称;
drop database 数据库名称;
示例:
在这里插入图片描述
4、进入数据库操作表
进入数据库:
use 数据库名称;
在这里插入图片描述
5、展示所有表格
show tables;
在这里插入图片描述

6、创建表格:
create table user2(id int(10),name varchar(20),age int,sex char(1));
示例:
在这里插入图片描述
7、查看表结构:
desc 表名;
在这里插入图片描述
8、修改表结构
增加列
alter table 表名 add 列名
示例:
在这里插入图片描述
9、删除列:
在这里插入图片描述
10、删除表:
在这里插入图片描述

对表数据的操作(增删改)

1、首先介绍一下五大约束:

唯一约束:用来约束此列的数据不能重复。
非空约束:用来约束此列的值不能为null。
主键约束:唯一+非空约束。
外键约束:主要用于发生在父子关系的表中,约束的是子表的添加(子表中外键的数据,在父表中必须存在),以及父表的删除。
检查约束:mysql中必须存在,但是不好使。
额外的两个:默认约束、自增约束
2、使用约束的方式:1、在创建表的时候使用,2、将约束添加到。
使用第一种方式创建一张表:id是主键,name不能为空,sex默认是男,电话号要求唯一。
在这里插入图片描述
使用第二种方式给表添加约束:要求同上。
添加约束的关键字还是alter,表级约束使用add,行级约束使用modify
先把
在创建唯一约束时可以给该约束起名(还用到一个关键字constraint),方便后续查找。
在这里插入图片描述
2、然后就是添加自增约束给主键添加自增。
在这里插入图片描述
拓展:所有的约束都可以使用modify来设计
实例:在这里插入图片描述
注意:删除约束
一、删除主键:

在这里插入图片描述
二、删除非空、默认约束
在这里插入图片描述
在这里插入图片描述

3、外键的使用
先创建两个表,一个是学生表,一个是班级表,其中学生表的班级号是外键。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
外键的使用,
添加子表的数据时,要先有父表的数据:
在这里插入图片描述
删除父表数据时,要先删除子表数据。
在这里插入图片描述

2、插入表数据

第一种,按照所有列的数据来插入全部的值。
在这里插入图片描述
第二种,按照指定的列来插入指定的值,在表名后面使用(列名…)来告诉数据库 values里面的值都放在那些列中。
在这里插入图片描述

3、修改表数据

有两个关键字:update 代表修改的意思,set 代表设置的意思,后面跟上需要设置的属性,以及需要设置的值,多个属性需要使用,分割。
在这里插入图片描述

4、删除表数据

第一种,按照指定的条件进行删除指定的行。
在这里插入图片描述

第二种,直接删除掉表中所有数据(不能有条件)
在这里插入图片描述
第三种,直接删掉表以及所有数据。
在这里插入图片描述

查询

查询主要分为三部分。
首先:我们查询出来的结果集,称之为集合的投影。
select * from studnet;
第一部分:select 表示查询的意思,在后面需要跟上我们查询的列名,可以使用 *来表示所有列。
第二部分 from 用于指定在那些表中进行查询,这个表可以是一个集合投影(集合投影需要起个别名)
在这里插入图片描述
第三部分 where 用于查询条件,来进行数据的过滤。

别名:我们可以给列,表起一些别名,很方便我们去记,在列名或表名之后使用as 别名即可,as可以省略不写。
例如:
在这里插入图片描述
对于我们查询出来的列,可以进行一些数值运算,以及函数操作
例如,把分数乘以2
在这里插入图片描述
distinct 可以去重。
查出学生姓名有哪些
在这里插入图片描述
查询没有姓名并且分数大于80的学生信息(空不能使用null判断)
在这里插入图片描述
其中,and用于多条件并行,相当于java中的&&,or相当于多条件选一,相当于java中||,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值