各位用户为了找寻关于Mysql表,列,库增删改查问题小结的资料费劲了很多周折。这里教程网为您整理了关于Mysql表,列,库增删改查问题小结的相关资料,仅供查阅,以下为您介绍关于Mysql表,列,库增删改查问题小结的详细内容
下面是我总结的一些基础的sql知识,主要是为了以后更好的查阅和帮助其他初学的人,同时记录自己的成长,还写了一点稍有
难度的sql面试题级别的题目,好了废话不多说,见真题。。。
? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66#创建数据库
CREATE
DATABASE
mytest
CHARACTER
SET
gbk
#删除数据库
DROP
DATABASE
mytest
表的操作
#创建表(
create
table
表名(columns))
CREATE
TABLE
students(
id
INT
PRIMARY
KEY
,
NAME
CHAR
(10)
NOT
NULL
,
sex
CHAR
(4)
NOT
NULL
);
#删除表(
drop
table
表名)
DROP
TABLE
students
#在表格中插入数据(
insert
into
表名(属性)
values
(对应的值))
INSERT
INTO
students(id,
NAME
,sex)
VALUES
(1,
"张三"
,
"男"
)
#更新表格数据(
update
表名
set
键=值,键=值
where
条件)中间要用“,”隔开,其他的无效
set
只需写一个
UPDATE
students
SET
id=2 ,
NAME
=
"a"
WHERE
id=1
#删除表中数据(
delete
from
表名
where
条件)
DELETE
FROM
students
WHERE
id=0
#查看表中数据(
select
查询的东西
from
表名
where
条件)
SELECT
*
FROM
students
WHERE
id=1
SELECT
*
FROM
students
ORDER
BY
age
DESC
(
order
by
升序,
order
by
列名
desc
降序)
列
#添加列(
alter
table
表名
add
列名 字段类型)
ALTER
TABLE
students
ADD
tel
CHAR
(20)
ALTER
TABLE
students
ADD
address
CHAR
(50)
AFTER
sex
#删除列(
alter
table
表名
drop
列名)
ALTER
TABLE
students
DROP
address
#修改列属性(
alter
table
表名 change 需要修改的列名 修改后的列名 新列名字段类型)
ALTER
TABLE
stu CHANGE telphone tel
CHAR
(20)
DEFAULT
"-"
ALTER
TABLE
students CHANGE tel
ALTER
TABLE
students RENAME stu
简单函数
SELECT
SUM
(age)
AS
"总年龄"
FROM
students
SELECT
AVG
(age)
AS
"平均年龄"
FROM
students
SELECT
MAX
(age)
AS
"最大年龄"
FROM
students
SELECT
COUNT
(id)
AS
"人数"
FROM
students(统计人数选择主键不然可为空的列会影响结果)
分组
表内容:
2005-05-09 胜
2005-05-09 胜
2005-05-09 负
2005-05-09 负
2005-05-10 胜
2005-05-10 负
2005-05-10 负 如果要生成下列结果, 该如何写sql语句?
胜 负
2005-05-09 2 2
2005-05-10 1 2
SELECT
DATA
AS
" "
,
SUM
(result=
'胜'
)
AS
"胜"
,
SUM
(result=
'负'
)
AS
"负"
FROM
test1
GROUP
BY
DATA
Case
when
(
case
属性=“”
then
“”
end
)
写出由table1.table2得到table3的sql语句
SELECT
t1.部门dep,
SUM
(
CASE
WHEN
月份mon=
'一月份'
THEN
业绩yj
ELSE
NULL
END
)
AS
'一月份'
,
SUM
(
CASE
WHEN
月份mon=
'二月份'
THEN
业绩yj
ELSE
NULL
END
)
AS
'二月份'
,
SUM
(
CASE
WHEN
月份mon=
'三月份'
THEN
业绩yj
ELSE
NULL
END
)
AS
'三月份'
FROM
table1 t1
LEFT
JOIN
table2 t2
ON
t1.部门dep=t2.部门dep
GROUP
BY
部门dep
左连接与右连接(
left
join
表名
on
连接语句)
Left
join
与
right
join
区别就是:左连接是以主表为主,显示所有内容,若连接的表没有与它对应的值则不显示或显示为
null
,右连接同理。
内连接
用一条SQL语句查询出每门课都大于80分的学生姓名(表名为score)
Select
distinct
(去重)
name
from
score
where
name
not
in
(
Select
name
from
score
where
fenshu<=80;
);
Union
all
、
union
(下分别为t1.t1)
SELECT
*
FROM
t1
UNION
ALL
SELECT
*
FROM
t2 (不去除重复)===》t3
SELECT
*
FROM
t1
UNION
SELECT
*
FROM
t2 (去除重复)=====>t4
(上分别为t3.t4)
以上所述是小编给大家介绍的Mysql表,列,库增删改查问题小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
原文链接:http://www.cnblogs.com/whiteme/archive/2017/07/14/7170270.html