数据库小知识

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)

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

相关推荐
TDengine (老段)12 小时前
TDengine Python 连接器入门指南
大数据·数据库·python·物联网·时序数据库·tdengine·涛思数据
萧曵 丶12 小时前
事务ACID特性详解
数据库·事务·acid
kejiayuan13 小时前
CTE更易懂的SQL风格
数据库·sql
kaico201813 小时前
MySQL的索引
数据库·mysql
清水白石00813 小时前
解构异步编程的两种哲学:从 asyncio 到 Trio,理解 Nursery 的魔力
运维·服务器·数据库·python
资生算法程序员_畅想家_剑魔14 小时前
Mysql常见报错解决分享-01-Invalid escape character in string.
数据库·mysql
PyHaVolask14 小时前
SQL注入漏洞原理
数据库·sql
ptc学习者14 小时前
黑格尔时代后崩解的辩证法
数据库
代码游侠14 小时前
应用——智能配电箱监控系统
linux·服务器·数据库·笔记·算法·sqlite
!chen15 小时前
EF Core自定义映射PostgreSQL原生函数
数据库·postgresql