数据库小知识

AUTO_INCREMENT=100 //设置自增从100开始,不指定长度默认是1(当前表)

SET @@auto_increment_increment=5 //设置每次自增的长度为5,不指定长度默认是1(整个数据库)

CREATE TABLE `grade`(

`GradeID` INT(11) NOT NULL AUTO_INCREMENT COMMENT '年级编号',

`GradeName` VARCHAR(50) NOT NULL COMMENT '年纪名称',

PRIMARY KEY (`GradeID`)

)ENGINE=INNODB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

//声明自增的字段,定义自增的开始数是6

DEFAULT CHARSET=utf8 :设置默认的字符集(MySQL默认的字符集编码Latin1)

ENGINE=InnoDB:表示创建表时使用InnoDB 存储引擎(默认)

DEFAULT NULL:默认是NULL

复制代码
CREATE TABLE IF NOT EXISTS `student`( 
'字段名' 列类型 [属性] [索引] [注释], 
'字段名' 列类型 [属性] [索引] [注释], 
...... 
'字段名' 列类型 [属性] [索引] [注释] 
)[表的类型][字符集设置][注释]

列类型/列属性:INT(11)

属性字段:例如NOT NULL DEFAULT '匿名'

索引字段:PRIMARY KEY (`id`) //如普通索引、唯一索引、主键索引

约束:

约束(如外键约束、唯一约束等)需要通过 CONSTRAINT 关键字单独定义,且通常写在所有字段定义之后,语法形式为:

CONSTRAINT [约束名] 约束类型 (字段名) 关联规则

例如外键约束:CONSTRAINT FK_xxx FOREIGN KEY (字段) REFERENCES 表(字段)

数据查询语言

基础查询

拼接

SELECT CONCAT('姓名',`StudentName`) AS 新名字 FROM student;

//将CONVAT括号中的东西拼起起来,放到字段名StudentName改为新名字的列下

//其本质是搜索StudentName字段这列

自增

-- 查询自增步长(变量)

SELECT @@auto_increment_increment;

连接查询

|-----------------|------------------|
| 左连接 | 左外连接 |
| left join | left outer join |
| 右连接 | 右外连接 |
| right join | right outer join |
| 全外连接(匹配+不匹配) | 全外连接(不匹配) |
| full outer join | full outer join |
| 内连接 ||
| Inner join(join) ||

分页查询

复制代码
select 查询列表 from 表 
limit offset,pagesize;

offset:本页的前页有多少条数据

pagesize:每页多少条数据

offset=(n-1)*pagesize

limit n 表示从0到n的页面 //n表示的n条数据

MYSQL函数

SELECT RAND(); //(0,1)之间的小数

SELECT INSERT('我喜欢',1,1,'超级') //结果:超级喜欢

//1:开始位置 1:去除的长度 (MySQL 中字符串位置从 1 开始计数

SELECT INSTR('zsrs','s'); //结果:2 //返回第一次出现字串索引的位置

SELECT SUBSTR('坚持就是胜利',3,6); //就是胜利(截取的长度是6,但是现有可被截取的字符串长度为4)

//返回指定的字符串(源字符串,截取位置,截取长度)

相关推荐
ZC跨境爬虫12 小时前
SQL学习日志 Day_1:初识SQL,开启数据之旅
数据库·sql·学习
计算机安禾13 小时前
【算法分析与设计】第37篇:平面扫描与线段交问题
java·大数据·数据库·算法·机器学习
志栋智能13 小时前
超自动化巡检:让运维工作可衡量、可优化
运维·数据库·自动化
zxfBdd13 小时前
doris insert into和with as 合用
数据库·sql
诸葛务农13 小时前
共沸脱水技术及其在光刻胶用PGMEA纯化中的应用(上)
java·数据库·算法
wanghowie13 小时前
25. v2 实战:接入 Doris + SQL 三阶段(Planner / Optimizer / Execution)
数据库·sql
流星白龙13 小时前
【MySQL高阶】16.行结构
android·mysql·adb
javachen__13 小时前
mysql-1015 - Can‘t lock file (errno: 165 - Table is read only)
mysql
逍遥德13 小时前
PostgreSQL ---【序列】用法详解
数据库·后端·sql·postgresql
逍遥德13 小时前
PostgreSQL --- 自增主键【序列】的避坑指南
数据库·后端·sql·mysql·postgresql·sqlserver