操作
-- PRIMARY KEY 创建主键
-- NOT NULL 为非空
-- AUTO_INCREMENT 自增键
-- COMMENT 备注
-- DEFAULT 默认
-- ENGINE= INNODB 实用的引擎为 INNODB
-- DEFAULT CHARSET= utf8 默认字符集为utf8
-- UNSIGNED 为“无符号”的意思
DISTINCT 去重
DESC student -- 显示表的结构
PRIMARY KEY(键名) 添加主键
ADD CONSTRAINT `约束名` FOREIGN KEY ( 作为外键的列) REFERENCES 外键引用的表(字段)
上面的操作都是物理外键,数据库级别的外键,不建议用(避免数据库过多造成烦恼 比如无法删除一个表你还得去删引用的表)
DELETE FORM `TEST`会影响自增
truncate table `test` 自增会归零
引擎为InnoDB自增列会从1 开始
MyISAM继续从上一个自增量开始
连接
inner join 内连接 如果表中至少有一个匹配,就返回行
left join 左连接 即使右表中没有匹配,也会从左表中返回所有的值
right join 右连接 即使左表中没有匹配,也会从右表中返回所有的值
FULL JOIN 全连接 只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。
join on 连接查询
where 等值查询
ORDER BY ASC 升序 DESC降序
分页
语法: limit 起始值,页面的大小
limit 0 ,5 1 ~ 5
limt 6 ,5 6 ~ 10
```c
CREATE TABLE IF NOT EXISTS `student`(
`id` INT ( 4 ) NOT NULL AUTO_INCREMENT COMMENT '学号' ,
`name` VARCHAR ( 30 ) NOT NULL DEFAULT '匿名' COMMENT '姓名' ,
`pwd` VARCHAR ( 20 ) NOT NULL DEFAULT '123456' COMMENT '密码' ,
`sex` VARCHAR ( 2 ) not NULL DEFAULT '女' COMMENT '性别' ,
`birthday` datetime DEFAULT NULL COMMENT '出生日期' ,
`address` VARCHAR ( 100 ) DEFAULT NULL COMMENT '家庭住址' ,
`email` VARCHAR ( 50 ) DEFAULT NULL COMMENT '邮箱' ,
PRIMARY KEY ( `id`)
) ENGINE= INNODB DEFAULT CHARSET= utf8
SHOW CREATE DATABASE blog -- 查看创建数据库的语句
SHOW CREATE TABLE student -- 查看student 数据表的定义语句
函数
系统
version ( )
SYSTEM_USER ( )
USER ( )
字符串函数
CONCAT ( '姓名:' , 列名)
CHAR_LENGTH ( )
INSERT ( 'wwwwwaaaa' , 1 , 2 , 'wwwwa' )
LOWER ( )
UPPER ( )
INSTR ( )
PEPLACE ( )
SUBSTR ( )
REVERSE ( )
数字函数
ABS ( )
CEILING ( )
FLOOR ( )
RAND ( )
SIGN ( )
日期函数
CURRENT_DATE ( )
CURDATE ( )
NOW ( )
LOCALTIME ( )
SYSDATE ( )
YEAR ( )
MONTH ( )
DAY ( )
HOUR ( )
MINUTE ( )
SECOND ( )
聚合函数
COUNT ( )
SUM ( )
AVG ( )
MAX ( )
MIN ( )
加密函数
MD5 ( )
变量
@@auto_increment_increment 自增的步长
运算符
运算符 语法 描述
IS NULL a is null 如果操作符为NULL ,结果为真
IS NOT NULL a is not null 如果操作符不为null 结果为真
BETWEEN a between b and c 如果a在b跟c之间,结果为真
LIKE a like b SQL匹配如果匹配成功,则结果为true
IN a in ( a1, a2, a3) 假设a在a1a2, a3其中则结果为真
关键词
GROUP BY
HAVING