当前位置: 首页 > news >正文

MYSQL-超全基础以及用法--仅个人的速记笔记(1)

数据库:

  • 数据库是一门独立的学科,只要是做软件开发的,数据库都要学。

提前准备了一个数据库test 和3个表(dept,emp,salgrade)

1.登录数据库:(-u 和 -p 分别是账户和密码)

mysql -u root -p 123456

2.查询数据库:(前四个是系统库,后面是用户库)

 show databases;

3.使用某个数据库:(就会进入这个数据库)

use test;

4.查询数据库里面的表结构,看看里面有什么表:(3个表)

show tables;

5.查询表的结构:(里面有字段,类型。。。。)

desc dept;

6.查询表里面的数据:

select * from dept;

7.关于查询 语句是我们最应该掌握的(重点)

select : 选择 哪个字段 .......

from: 从哪个表......

where: 筛选条件.......

group by + having(min max avg count sum分组函数):

        只有使用分组才能使用分组函数,但并不绝对,

order by:排序 desc 和csc ,升序和降序

limit: 查出的结果,取多少个

distinct:去重,只能放在字段的前面,否则报错

if: 相当于三元运算符,(A>B,a,b) true 为 a false 为 b

cast:类型转换 将(A,B),将A转换为B类型

isnull: 判断是否为null

current_time():获取当前时间时分秒

current_date():获取当前日期

concat:拼接字符串(‘值1’,‘值2 ’.‘值3’)

trim:去除前面的空白

substr;截取字符串(“字符串”,下标开始,几个)

datediff:计算两个日期差的数量

下面进行 示例:(我用emp这个表 进行演示)

1. 查询 某个字段

select * from emp;  代表所有字段

select * from emp;

查询 某个字段 ,比如查询 ename 

select ename from emp;

查询 2个或多个字段,中间用逗号间隔,最后一个字段不需要逗号

查询 ename 和 job 

select ename,job from emp;

2.查询带条件的字段 where,比如查询sal薪资大于1000,

select ename,job,sal from emp where sal>1000;

3.查询带分组函数的字段 ,group by + (min max avg count sum)+having

(当对where的过滤条件不满足的时候,可以用having进行再次过滤)

select avg(sal) ,deptno from emp where sal > 1000 group by deptno; 

4.然后可以使用order by 进行排序 desc 和csc  

select avg(sal) ,deptno from emp where sal > 1000 group by deptno order by avg(sal) desc; 

5.可以用limit 来取出 前几个元素  limit  n;

select avg(sal) ,deptno from emp where sal > 1000 group by deptno order by avg(sal) desc limit 1; 

8.对于字段的数据类型:(开发常用的)

char(m):m长度是0~255个字符

varchar(m): 最长65535个字节

int:4个字节

bigint:8个字节

enum:  字段1(‘值1’,‘值2’ ,‘值3’) 里面的值,如果插入必须是这3个值

double:8个字节

json:文本格式(增删改语法 可以看一下)

date:3个字节 只存年月日

datetime: 8个字节 可以存年月日时分秒

9.对表的增删改DDL

1.创建表: create table t ()

create table t (id int,name varchar(10)
)

2.对表进行操作 alter 

-- 对表改名字
alter table t rename tt;
-- 对表添加字段
alter table tt add email varchar(20);
-- 对表修改字段
alter table tt change id number int;
-- 对表删除某个字段 
alter table tt drop number;
-- 修改字段的类型
alter table tt modify name char(10);

总结 :  alter table 表名 操作名 条件;(简单记一下)

操作名:add + change + drop + modify +rename

10.对于表内数据的操作DML

delete + insert into +update

1.insert into 表名 ( 字段 )values ( 值 );

2.update 表名 set 字段=值 where 某个字段=值;

3.delete from 表名 where 条件;(truncate 这个删除不能恢复 不可回滚 rollback)

11.给表加上主键 约束constraint

1.非空约束; not null (字段不能为空,插入值的时候)

2.检查约束 :check;(给一个条件,比如sal>100 ,插入的时候会判断值是否满足)

3.唯一约束:unique(插入的时候,不能重复,这个也适合作为外键)

4.主键约束:primary key(用的最多)

5.外键约束:foreign key ( 这个也是)

http://www.dtcms.com/a/540637.html

相关文章:

  • 31、LangChain开发框架(八)-- LangChain 数据分析智能体实战
  • 建设局域网网站盐城市亭湖区城乡建设网站
  • 6.2 大数据方法论与实践指南-任务元数据
  • MongoDB中全文索引基础篇
  • SSM浪漫烘焙屋z73z2(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 网站网域名查询外贸推广的几种方式以及效果排行
  • 彩票网站做代理网站建设与管理规定
  • 系统商(ERP、OMS、WMS 等)打通物流 API 数据的重要一环
  • kubectl 学习心得:从入门到实践的 K8s 命令行掌控之旅
  • 非线性笔记革命:Trilium+cpolar如何让知识管理突破时空限制?
  • 华为ENSP——OSPF多区域配置实验
  • 快指点击器 1.1.9 | 支持多点操作、自动化脚本,操作记录等功能,快速解放双手
  • Termux 安装 Joplin Server ,全平台同步Joplin笔记
  • 笔记:现代操作系统:原理与实现(6)
  • 电商网站对比表请问下网站开发怎么弄
  • 浙人医已用金仓 KFS 工具破解多数据库并存难题!
  • 四川建设网网站首页开发公司起名
  • K8s学习笔记(二十四) ingress
  • 将axios、async、Promise联系在一起讲一下讲一下.then 与其关系
  • 最权威的排行榜网站scratch网站开发
  • WPF 数据绑定详解
  • 【Swift】LeetCode 54. 螺旋矩阵
  • 河北邯郸seo网站建设网站优化专业网站的定义
  • Python测试题2
  • WordPress 上传图片报错:明明是 PNG,却提示「请转换为 JPEG 或 PNG 格式」?
  • annotation-logging-guide
  • 没有公司做网站重庆网站推广入口
  • 管理k8s的资源类型(PV/PVC)的脚本
  • 【记录】飞书多维表格|做自动显示当前填写情况(包括填写人数、未填写情况、最高分和平均分)的收集表
  • 清除入侵痕迹(winLinuxweb)