mysql学习文档_「mysql学习」MySQL学习文档 - seo实验室

mysql学习

基础知识

1 创建表

CREATE TABLE tablename (name1 CHAR(100),name2 NUMERIC,name3 INT);

2 向表中按行插入数据

INSERT INTO tablename(name1,name2,name3) VALUES(value1,value2,value3);

插入多行

INSERT INTO tablename(name1,name2,name3) VALUES(value1,value2,value3),(value4,value5,value6);

3 删除表

DELETE(可恢复)

DELETE FROM tablename; --全部删除

DELETE FROM tablename WHERE name1 = ‘***’;--删除满足条件的行

TRUNCATE(不可恢复)

TRUNCATE TABLE tablename;

DROP(删除整个表结构)

DROP TABLE tablename;

4 查询表

SELECT * FROM tablename limit 10;--(查一个未知表时最好带上limit)

查询5到10行

SELECT * FROM tablename LIMIT 4(开始行-1),6(间隔行);

5 关联

左关联,左表全部展示,右表展示和左表关联上的部分,左表没关联上的右边字段为空

SELECT A.name1,A. name 2,B. name 1,B. name 2 FROM A left join B A. name 1=B. name 1 ;

内关联,展示关联字段在两表中同时存在的行

SELECT A. name 1,A. name 2,B. name 1,B. name 2 FROM A inner join B A. name 1=B. name 1;

6 更新

UPDATE tablename SET name1=改变后的名字 WHERE name1 = 要更改的名字;

7 分组

wordCount例子

SELECT word,COUNT(*) FROM tablename GROUP BY word;

8 排序

SELECT DATETIME FROM tablename order BY datetime;--默认正序

SELECT DATETIME FROM tablename ORDER BY datetime DESC;--倒序

9 修改

ALTER TABLE tablename DROP name1;--删除字段name1

ALTER TABLE tablename ADD name INT FIRST;--在第一列增加字段name

ALTER TABLE tablename ADD i INT AFTER c; --在c字段后面增加字段i

修改字段类型及名称

MONDIFY

ALTER TABLE tablename MODIFY c CHAR(10);--将字段c的类型变为char(10)

CHANGE

ALTER TABLE tablename CHANGE i j BIGINT;--将字段i改为类型为bigint名称为j的字段

10 条件中的匹配

'%a'     //以a结尾的数据

'a%'     //以a开头的数据

'%a%'    //含有a的数据

'_a_'    //三位且中间字母是a的

'_a'     //两位且结尾字母是a的

'a_'     //两位且开头字母是a的

行转列

表1

1fcf25003b965aeedc434aa69152d682.png

表2

84979736af7209359f665b548dd4bef7.png

将表1变成表2的Mysql语句

SELECT NAME 姓名,

MAX(CASE obgject WHEN '数学' THEN score ELSE 0 END ) 数学,

MAX(CASE obgject WHEN '语文' THEN score ELSE 0 END ) 语文,

MAX(CASE obgject WHEN '英语' THEN score ELSE 0 END ) 英语

FROM testscore

GROUP BY NAME

列转行

表3

713ce8abc06640b171b435b1695fbdda.png

表4

a59eb0dcd4c2b45b3211825451f1d3bb.png

将表3结构变成表4结构的sql语句

SELECT NAME 姓名,'数学' AS 学科,math_score 分数  FROM testcol

UNION

SELECT NAME,'语文' AS 学科,chin_score 分数 FROM testcol

UNION

SELECT NAME,'英语' AS 学科,eng_score 分数 FROM testcol

指定号行查询

0c42ef497f8e8fba4127c7285abc1d67.png

从上表中取第五行到第八行

4ec40025e1828cd450a9488bdb314ebd.png

SELECT * FROM testlastone  LIMIT 4,4

81edbc3ac5ab37d29b1c9ea7f99a9a6f.png

从上表中取出每个id最早访问网站的那一行,插入到新表table_c中表结构和上表一致

3192bf5dd2100a1f9c6ae19288c1cb1c.png

CREATE TABLE table_c

SELECT a.member_id,C.min_time,a.url FROM table_a a

INNER JOIN (SELECT member_id ,MIN(log_time) min_time FROM table_a

GROUP BY member_id) C

ON a.member_id = C.member_id AND a.log_time = C.min_time

相关阅读

转载:https://blog.csdn.net/qq_36345036/article/details/76977294

二分图又称作二部图,是图论中的一种特殊模型。设G=(V,E)是一个

在机场使用的空管系统中,飞机的速度矢量线差不多是这样的:

模拟飞机飞行时的速度矢量线,这里就大概做个类似效果:

什么叫速度

其实我学习java最根本的原因是:我是一个挺关注外在的人,虽然是个程序员,所以我很喜欢写出那些带有漂亮的界面的程序,因为C总是控制台,

1.修改表名:alter table 表名 rename 新表名;

2.添加表字段:

(1)默认加到最后:alter table 表名 add 新字段  类型 (字段完整性约束

1.id介绍

这个id不是主键的意思,他是用来标识select查询的序列号,包含一组数字,表示查询中执行select子句或者操作表的顺序。

会出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值