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中||,