数据库分类:
MySQL,oracle,SQLserver:关系型数据库的一种,web端应用最为广泛
Redis,hbase,mongodb:非关系型数据库
数据库语言:
DQL:数据库查询语言
DML:数据操作语言
DDL:数据定义语言
CCL:指针控制语言
DCL:数据控制语言
TPL:事务处理语言
命令行操作数据库:
连接命令:MySQL -h数据库IP -P 端口号 -u数据库登录用户名 -p数据库登录密码
(h不加时表示为主机)
连接:mysql -uroot -p123456
查看所有数据库:show databases
使用数据库:use 数据库名
查看当前数据库:select database()
创建数据库:create database 数据库名 charset = utf8
删除数据库:drop database 数据库名
查看表结构:desc 表名
查看表:show table
数据类型与约束:
数据类型: 整型 int 小数 decimal 字符串 varchar 时间日期 datetime
约束: primary key 主键 not null 非空 unique 唯一
数据库操作表:
创建学生表:
删除学生表:
drop table if exists students
简单查询:select*from表名
添加数据:insert into 表名 values(),(),()......
修改数据:update students set name = ‘........’ where ....... 单引号
删除数据:delete from表名 where。。。。。
取别名:表名 as 别名
去重 :select distinct 字段 from 表名
条件查询:where having
常用关键字:
模糊查询:like 关键字 %匹配任意个字符 _匹配任意单个子字符
in 查询非连续范围内数据
Between and 连续范围内数据
Is null 为空判断
Is not null 不为空判断
排序:order by asc 默认升序 desc 降序
分组查询:group by 分组后筛选:having
分页查询 :limit 0,3 从0开始,表示第一条数据,每页显示3条数据
连接查询:
内连接:表1 inner join表2 on 表1.列 = 表2.列
左连接:表1 left join表2 on 表1.列 = 表2.列
右连接:表1 right join表2 on 表1.列 = 表2.列
上图依次表示 内连接,左连接,右连接
子查询:
将一条SQL语句嵌入到另一条SQL语句中,即为子查询
子查询可以充当条件和数据源
子查询特定关键字:in
格式:主查询 where 条件 in (列子查询)
any/some
格式:主查询 where 列 = any (列子查询)
all所有
格式:主查询 where 列 = all (列子查询)
注意:sql 用 反引号(“ ` ” 英文模式 波浪线的下方) 来区分字段与关键字,当字段与关键字重复时,将字段用反引号包裹即可