mysql中的一些知识点

数据库 DataBase  数据的仓库
DDL 定义数据库对象语言 数据库,表,列,索引,存储过程等 
DML对数据的操作 crud
DCL 访问权限控制语言
DQL数据库查询语言

创建数据库
create database g2071;
使用数据库
use g2071;
创建表
create table tb_user(列名1 数据类型[长度],列名2数据类型[长度],...列名 数据类型[长度])

插入数据
插入的值要与列对应 ,数据类型要一致
insert into 表名(列名1,列名2,列名3...)values(值1,值2,值3...);

删除
delete from 表名 where 条件 单行或多行删除
全表删除
delete from 表名
truncate table 表名 ,仅保留表结构,数据全部清除。注意:事务不可以回滚

drop table 表名。表结构和数据一并删掉,事务不可回滚

更新数据
update 表名 set 列名=值,列2=值2 ... where 条件

查询
单行查询 
select * from 表名 where name=‘‘ 
                                     id=2
多行查询
select * from 表名

模糊查询 
like
select * from tb_user where name like %雪%
第几个字符是某值,例:第二个字符是雪
_
select * from tb_user where name = _雪;

and or
select * from tb_user where age >=18 and age <=25
select * from tb_user where age =18 or age =25 

聚合函数
count:总记录数
sum:求和
avg:平均
max:最大值
min:最小值

排序
order by 
asc 升序
desc 倒序

分组函数 一个列相同的值只出现一个
group by 配合聚合函数使用

having 分组之后再次过滤数据用的


select from where group by having order by 

约束:对数据进行检查验证
主键:primary key auto_increment 非空且唯一
非空:not null 不能为null
unique:唯一约束  可以有多个null值,非空的只能有一个

关联关系
表与表之间是有关系的
一对一 人跟身份证 
一对多 人跟手机 人跟汽车
多对多 订单与订单明细 学生与课程

关联关系:查询的时候要加上  条件的数量是:N-1   假设有3张表 最少有2个条件

DROP DATABASE g2071;
CREATE DATABASE g2071;

#学生表
CREATE TABLE student(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(30),
sex CHAR(3)
)

INSERT INTO student(id,NAME,sex)VALUES(1,张三,),(2,李四,);
SELECT * FROM student;

#课程表
CREATE TABLE kecheng(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(30)
)
INSERT INTO kecheng(id,NAME)VALUES(1,Java),(2,MySQL);
SELECT * FROM kecheng;

#成绩表
#定义两个外键
CREATE TABLE score(
stu_id INT,
kecheng_id INT,
score INT,
FOREIGN KEY(stu_id) REFERENCES student(id),
FOREIGN KEY(kecheng_id) REFERENCES kecheng(id)
)

INSERT INTO score(stu_id,kecheng_id,score)VALUES(1,1,90),(1,2,95),(2,1,89),(2,2,99);
SELECT * FROM score;

#关联表查询 
SELECT s.name,k.name,sc.score FROM student s,kecheng k,score sc 
WHERE s.id = sc.`stu_id` AND k.id = sc.`kecheng_id` AND s.id = 1

 mysql中的一些知识点

 

mysql中的一些知识点

上一篇:yum 安装 LNMP


下一篇:Dbeaver连接国产数据库人大金仓