Mysql表,列,库的增删查改
2018-06-17 23:55:43来源:未知 阅读 ()
下面是我总结的一些基础的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=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.t2)
SELECT * FROM t1 UNION ALL SELECT * FROM t2 (不去除重复)===》t3 SELECT * FROM t1 UNION SELECT * FROM t2 (去除重复)=====>t4
(上分别为t3.t4)
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- MySQL replace函数怎么替换字符串语句 2020-03-09
- PHP访问MySQL查询超时怎么办 2020-03-09
- mysql登录时闪退 2020-02-27
- MySQL出现1067错误号 2020-02-27
- mysql7.x如何单独安装mysql 2020-02-27
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash