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
表2
将表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
表4
将表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
指定号行查询
从上表中取第五行到第八行
SELECT * FROM testlastone LIMIT 4,4
从上表中取出每个id最早访问网站的那一行,插入到新表table_c中表结构和上表一致
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子句或者操作表的顺序。 会出