数据库小知识

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)

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

相关推荐
2301_7950997417 分钟前
让 CSS Grid 自适应容器尺寸的动态布局方案
jvm·数据库·python
FQNmxDG4S40 分钟前
Maven依赖管理:版本冲突解决与生命周期控制
java·数据库·maven
热爱运维的小七1 小时前
告别内存溢出:ActiveMQ 性能诊断与全流程优化
数据库·it运维·activemq·devops
@小柯555m1 小时前
MySql(高级操作符--操作符混合运用)
数据库·sql·mysql
CDN3601 小时前
排查实录:网站偶发502/504错误?360CDN回源超时配置与日志分析技巧
前端·数据库
bzmK1DTbd1 小时前
JDBC编程规范:PreparedStatement与事务管理
数据库·python·eclipse
卧室小白2 小时前
Redis-哨兵模式
数据库·redis·缓存
GottdesKrieges2 小时前
OceanBase恢复常见问题
java·数据库·oceanbase
卧室小白2 小时前
redis-配置
数据库·redis·缓存
向風而行3 小时前
MySQL详解
数据库·mysql