前言
当你从被动学习变成主动学习的时候,救赎之道,就在其中。
我们每天使用互联网产品会产生大量的数据,例如使用微信产生的很多聊天记录,在微信里发的朋友圈图片,使用百度搜索的各种内容,使用淘宝进行购物的记录等,这些数据都存储在数据库中,所以,学好数据库可以让程序员在编程世界中如虎添翼。
为什么要学习数据库
在需要保存用户的数据的情况下,随着用户数量的增加,数据量越来越大,使得一种专门管理数据的软件应运而生,编写应用程序的时候,数据读写的功能就大大地被简化了。对于程序员来说,懂得一种数据库管理系统无疑是必须的。
MySQL
MySQL是关系型数据库管理系统之一,属于Oracle旗下管理系统,作为一种开源的轻量级数据库,在开源数据库中比较流行,由于其小巧安装方便快捷的特性,经常用于互联网公司,同时维护也比较方便,追求稳定的性能和易用性。
常用的命令
1.创建数据库
create database 数据库名;
2.使用数据库
use 数据库名;
3.查看有哪些数据库
show databases;
4.查看当前数据库有哪些表
show tables;
5.查看其他数据库中的表
show tables from 数据库名;
6.查看当前使用的数据库
select database();
7.查看数据库版本
select version();
8.终止一条语句
想要终止一条正在编写的语句,输入\c
9.查看表的结构
desc 表名;
10.查看创建表的SQL语句
show create table 表名;
了解完基础的语句,接下来我们要认识数据库的最重要的内容了
增删改查
增
insert into 表名(字段名1,字段名2,字段名3 ...) values(值1,值2,值3 ...);
删
delete from 表名 where 条件;
改
update 表名 set 字段名1 = 值1,字段名2 = 值2 ... where 条件;
查
select 字段名1,字段名2 ... from 表名 where 条件;
条件查询
任何一条sql语句都是以";"结尾
sql语句不区分大小写
select 字段名1,字段名2 ... from 表名 where 条件;
当然除了增,删,改,查还有数字符号
执行顺序:from>where>select
运算符 说明
= 等于
<>或!= 不等于
< 小于
<= 小于等于
> 大于
>= 大于等于
between...and... 两个值之间,等同于>= and <=
is null 为null(is not null 不为空)
and 并且
or 或者
in 包含,相当于多个or(not in 不在这个范围中)
not 取非,主要用在 is 或者 in 中
like 模糊查询,支持%和_匹配
连接查询
大多数情况下,都不是从单表中查询数据,而是多张表联合查询取出最终的结果
根据表的连接方式来划分:
内连接等值连接
非等值连接
自连接外连接
左外连接
右外连接全连接(不常用)
创建表
create table 表名(
字段名1 数据类型,
字段名2 数据类型,
字段名3 数据类型,
...
)
MySQL中的字段的数据类型
数据类型 说明
int 整数型(对应java中int)
bigint 长整型(对应java中long)
float 浮点型(对应java中float double)
char 定长字符串(对应java中String)
varchar 可变长字符串(对应java中StringBuffer/StringBuilder)
date 日期类型(对应java中java.sql.Data)
BLOB 二进制大对象(对应java中的Object)
CLOB 字符大对象(对应java中的Object)
当然还有最常用的约束
约束
在创建表的时候,可以给表的字段添加相应的约束,添加约束的目的是为了保证表中数据的合法性、有效性、完整性。
非空约束(not null):约束的字段不能为NULL
唯一约束(unique):约束的字段不能重复
主键约束(primary key):约束的字段既不能为NULL,也不能重复
外键约束(foreign key):使得表与表之间的数据建立关联
文章介绍了数据库的重要性,特别是在互联网产品中数据管理的角色。它强调了学习数据库对程序员的益处,并以MySQL为例,详细讲解了创建数据库、使用基本命令、增删改查操作以及条件查询。此外,还提到了连接查询和数据类型的概述,以及表的约束如非空、唯一和主键约束。

被折叠的 条评论
为什么被折叠?



