首页 > 数据库 >MySQL 知识点

MySQL 知识点

时间:2023-03-22 21:23:40浏览次数:39  
标签:知识点 -- t1 名字 MySQL WHERE 主键 SELECT

SQL语句

-- DDL
	CREATE DATABASE 库名字
	CREATE TABLE 表名字(
	)
	ALTER TABLE 表名字 ADD //增
	ALTER TABLE 表名字 DROP //删
	ALTER TABLE 表名字 MODIFY //修改
	ALTER TABLE 表名字 RENAME TO 表名字 //修改
	DROP DATABASE 名字 //删除库
	DROP TABLE 表名字 //删除表
-- DML
	INSERT INTO 表名字 VALUES(); //添加信息
	DELETE FROM 表名字 WHERE ;//删除信息
	UPDATE 表名字 SET  WHERE //修改信息
-- DQL
	SELECT * FROM 表名字 t1 WHERE t1.name LIKE '___' //查找名字由3个字母组成
	SELECT * FROM 表名字 t1 WHERE t1.name LIKE 'j%' //查找名字由j 开头
	SELECT * FROM 表名字 t1 WHERE t1.name LIKE '_a%' //第二个字母为a 的学生记录
        SELECT * FROM 表名字 t1 WHERE t1.name LIKE '%a%' //查询姓名中包含字母a的记录
	SELECT * FROM 表名字 [1.WHERE 2.GROUP BY 3.HAVING 4.ORDER BY 5.LIMIT]
	SELECT * FROM 表1 INNER JOIN 表2 ON () INNER JOIN 表3 ON()

约束

-- 非空约束
	NOT NULL
-- 唯一性约束
	NOT NULL UNION
-- 默认约束
	NOT NULL DEFAULT 1
-- 主键约束
	PRIMARY KEY 
	AUTO_INCREMENT //自增
-- 外键约束 修改数据表t,将字段t_id设置为外键,外键名fk_id,与数据表tb的主键进行关联
	ALTER TABLE t add CONSTRAINT fk_id FOREIGN KEY(t_id) REFERENCES tb(id);

函数

-- 字符函数
	-- 字符串连接
	SELECT CONCAT('JA','VA','SQL');			-- JAVASQL
	-- length() 字节长度
	SELECT length(name),name FROM tb_stu;		-- 
	-- 字符长度
	SELECT CHAR_LENGTH('java');			-- 4
	-- 去除前后空格
	SELECT trim('  ja  va    ');			-- ja  va
	-- 重复指定次数
	SELECT repeat('java',4);			-- javajavajavajava
	-- 字符串替换
	SELECT REPLACE('javajava','ava','jjj');		-- jjjjjjjj
	-- 截取字串
	SELECT substring('javaabc',1,3);		-- jav
-- 数学函数
	-- 绝对值
	SELECT abs(-15);				-- 15
    -- 向上取最小整数
    SELECT ceil(4.4);					-- 5
    -- 向下取最大整数
    SELECT floor(4.4);					-- 4
    -- 取余数
    SELECT mod(20,6);					-- 2
    -- 得到 0-1之间的随机值
    SELECT rand();					-- 0.8403694842386706 随机
	-- 有2位小数的四舍五入值
    SELECT round(3.1415926,4);				-- 3.1416
    -- 截断,小数位保持2位
    SELECT TRUNCATE(6.7894515,3);			-- 6.789
-- 日期函数
	-- 当前日期,当前时间,日期和时间
	SELECT CURDATE(),CURTIME(),now();		-- 2023-03-22	21:09:54	2023-03-22 21:09:54
	-- 指定日期是一年中的第几周
	SELECT WEEK(now());				-- 12
	-- 返回指定日期的年份
	SELECT YEAR(now());				-- 2023
	-- 返回指定时间的小时
	SELECT hour(now()),hour(CURTIME());		-- 21
	-- 返回date的月份名
	SELECT MONTHNAME(now());			-- March
	SELECT MONTH(now());				-- 3

三大范式

    1. 遵循原子性。表中字段的数据,不可以再拆分
    1. 遵循唯一性,消除部分依赖。表中任意一个主键或任意一组联合主键,可以确定除该主键外的所有的非主键值。
    1. 任一主键都可以确定所有非主键字段值的情况下,不能存在某非主键字段 A 可以获取 某非主键字段 B

表与表的关系

  • 一对一 :
  • 一对多 :部门和员工
  • 多对多 :老师和学生

标签:知识点,--,t1,名字,MySQL,WHERE,主键,SELECT
From: https://www.cnblogs.com/jh0129/p/17245484.html

相关文章

  • Dbeaver22.0.3 连线配置mysql8版本
    编辑驱动新建连接,选则mysql库选中本地的jar文件点击编辑驱动后,选中库页签,添加文件,选中本地jar包参考https://www.cnblogs.com/jinci2022/p/16525548.html......
  • 爬取的数据,存到mysql中、爬虫和下载中间件、加代理,cookie,header,加入selenium、去重规
    目录0爬取的数据,存到mysql中1爬虫和下载中间件2加代理,cookie,header,加入selenium2.1加代理2.2加cookie,修改请求头,随机生成UserAgent2.3集成selenium3去重规则源码......
  • nest.js学习笔记(七) --知识点拾遗
    1、nestjs中引用esm插件nestjs是使用commonjs规范进行开发,但是目前市场上很多插件是使用module的形式进行开发,所以遇到引用问题时,建议开发都绕过去,使用功能差不多的插件,但......
  • MySQL基础用法
    一、mysql启动/停止服务1、启动服务:netstartmysql2、停止服务:netstopmysql 二、mysql连接1、mysql-uroot-p-P13306(未修改默认端口号的不用加......
  • MySQL 也可以做全文检索
    原来用MySQL也可以做全文检索 我是风筝,公众号「古时的风筝」,专注于Java技术及周边生态。文章会收录在 JavaNewBee 中,更有Java后端知识图谱,从小白到大牛要走......
  • 简单介绍一下HBase、Cassandra、Voldemort、Redis、VoltDB、MySQL(转)
    hbase1.简介:HBase–HadoopDatabase,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群2.HBase和R......
  • Redis跟MySQL的双写问题
    本文已收录至Github,推荐阅读......
  • SQL 分类及 mysql安装及卸载注意事项
    SQLstructuralquerylanguage分类DML数据操纵语言datamanipulationlanguageinsertupdatedeleteselectDDL数据定义语言datadefinitionlan......
  • 如何评估MySQL是否要分库分表?
    今天和大家聊一聊分库分表的逻辑和评估方法,俗话说授人以鱼不如授人以渔,干货是总结,是技巧。底层逻辑是认知和思维。今天通过分析底层逻辑的方式,通过多个视角和大家分享下如何......
  • MySQL基础:约束
    MySQL基础:约束概述概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。目的:保证数据库中的数据的正确、有效和完整性。分类:约束描述关键字非空......