Mysql练习(二)

1、 delete,drop,truncate 的区别?

可以参考这位的:  https://www.cnblogs.com/zhizhao/p/7825469.html

2、 如何修改列名、删除行、删除列、新建列?

 # 修改表名
alter table salary rename demo; #添加列
alter table demo add column age int(5); #删除列
alter table demo drop column age; #修改列类型
alter table demo modify age varchar(20);

3、

CREATE TABLE `courses` (
`student` varchar() DEFAULT NULL,
`class` varchar() DEFAULT NULL
) ;

INSERT INTO `courses` VALUES ('A', 'Math');
INSERT INTO `courses` VALUES ('B', 'English');
INSERT INTO `courses` VALUES ('C', 'Math');
INSERT INTO `courses` VALUES ('D', 'Biology');
INSERT INTO `courses` VALUES ('E', 'Math');
INSERT INTO `courses` VALUES ('F', 'Computer');
INSERT INTO `courses` VALUES ('G', 'Math');
INSERT INTO `courses` VALUES ('H', 'Math');
INSERT INTO `courses` VALUES ('I', 'Math');
INSERT INTO `courses` VALUES ('A', 'Math');
#查询所有超过或等于5名学生的课
select class from courses GROUP BY class HAVING COUNT(class)>4 4、
CREATE TABLE salary (
id INT () NOT NULL PRIMARY KEY,
NAME VARCHAR () NULL,
sex CHAR () NULL,
salary INT () NULL
);
注意:有人说建表语句中字段应该 'id' 这样子写,但是这样写是错误的,如果你想这样写了那么你就必须完全按照下面的格式来写
CREATE TABLE `salary` (
`id` int(10) NOT NULL,
`name` varchar(20) DEFAULT NULL,
`sex` varchar(1) DEFAULT NULL,
`salary` int(20) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
其中的 engin指的是数据库的存储引擎

INSERT INTO `salary` VALUES ('', 'A', 'f', '');
INSERT INTO `salary` VALUES ('', 'B', 'm', '');
INSERT INTO `salary` VALUES ('', 'C', 'f', '');
INSERT INTO `salary` VALUES ('', 'D', 'm', '');
​要求:交换所有的 f 和 m 值

上面两个方式结果是一样的 表连接
先创建两张表,兵哥插入三行数据
create table person(
personId int(),
firstName VARCHAR(),
lastNamt VARCHAR()
); insert into person values('',"诸葛","亮");
insert into person VALUES('',"司马","懿");
insert into person VALUES('',"第五","轻柔"); create table address(
 addressId int(10) not null primary key,
 personId  int(10),
 city VARCHAR(20),
 state VARCHAR(20)
);
insert into address VALUES('1','1',"蜀","蜀国");
insert into address VALUES('2','2',"魏","魏国");
insert into address VALUES('3','3'," "," ");

编写一个 SQL 查询,满足条件:无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:FirstName, LastName, City, State

select a.*,b.firstName,b.lastName from address a ,person b where a.personId=b.personid;

编写一个 SQL 查询,来删除 email 表中所有重复的电子邮箱,重复的邮箱里只保留 Id 最小 的那个。
select * from email  GROUP BY Email ORDER BY  id ;



最新文章

  1. WebView解析
  2. 有点担心Node.js的未来了
  3. 【转】Maven3把命令行创建的web工程转成Eclipse和IntelliJ Idea的工程
  4. Android 三种方式实现自定义圆形页面加载中效果的进度条
  5. MapReduce中的排序
  6. Entify Framewrok - Join的使用方法
  7. (C++编程规范第17条)避免使用”魔数“
  8. [ javascript ] 司徒正美的fadeOut-fadeIn效果!
  9. loading加载中效果
  10. 合约广告系统-Hadoop
  11. PeopleCode事件和方法只用于online界面不能用于组件接口(component interface)
  12. 201621123035 《Java程序设计》第1周学习总结
  13. 我和python的初相识
  14. c++ switch和case的用法
  15. centOS连接没问题,使用SecureCRT就不能连接
  16. Volatile 关键字 内存可见性
  17. 《Unix&Linux大学教程》学习笔记七:进程与作业控制
  18. centos中yum命令删除还原的补救方法介绍
  19. hdu 1392 Surround the Trees 凸包裸题
  20. LG2634 [国家集训队]聪聪可可

热门文章

  1. 百度消息推送REST API探究
  2. Thermally driven workload scheduling in a heterogeneous multi-processor system on a chip
  3. STL源代码学习--vector用法汇总
  4. 【hdu 2376】Average distance
  5. 容易遗忘的JS知识点整理—hasOwnProperty相关
  6. 【77.39%】【codeforces 734A】Anton and Danik
  7. 单点登录原理与简单实现--good
  8. 【PHP Manager for IIS】让IIS支持PHP
  9. PAT练习题概览
  10. Linux下Qt5.6 Fcitx无法输入中文输入解决办法