Mysql表,列,库增删改查问题小结
时间:2020-11-03 13:31 作者:admin
下面是我总结的一些基础的sql知识,主要是为了以后更好的查阅和帮助其他初学的人,同时记录自己的成长,还写了一点稍有
难度的sql面试题级别的题目,好了废话不多说,见真题。。。
#创建数据库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=1SELECT * 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 telALTER TABLE students RENAME stu简单函数SELECT SUM(age) AS "总年龄" FROM studentsSELECT AVG(age) AS "平均年龄" FROM studentsSELECT MAX(age) AS "最大年龄" FROM studentsSELECT 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 22005-05-10 1 2SELECT 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 (不去除重复)===》t3SELECT * FROM t1 UNION SELECT * FROM t2 (去除重复)=====>t4(上分别为t3.t4)
以上所述是小编给大家介绍的mysql/' target='_blank'>mysql表,列,库增删改查问题小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
(责任编辑:admin)