数据的仓库
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中的一些知识点
标签:创建表 png 定义 不可 key run mamicode 插入 dml
查看更多关于mysql中的一些知识点的详细内容...