【LittleXi】sql学习笔记
【LittleXi】sql学习笔记
数据类型
INT 整数型
VARCHAR 字符串
DECIMAL(a,b) 浮点型(a代表位数,b代表小数位位数)
BLOB 图片、影片、档案
DATA 日期 XXXX-MM-DD
TIMESTAMP 记录时间 XXXX-MM-DD HH-MM-SS
创建数据库
CREATE DATABASE
sql_tutorial
;
查看数据库
SHOW DATABASES;
移除数据库
DROP DATABASE
sql_tutorial
;
使用数据库
USE
sql_tutorial
;
创建表单
CREATE TABLE student(`student_id` INT auto_increment, --auto_increment指可以自动修改键的值`name` varchar(20) not null,`major` varchar(20) unique,primary key(`student_id`) --primary key 指索引关键字
);
删除表单
drop table
student
;
显示表单
describe
student
;
插入表单内容
alter table
student
add gpa decimal(3,2);
删除表单内容
alter table
student
drop column gpa;
显示表单具体内容
select * from
student
;
插入表单具体内容的三种方式
insert into `student` values(1,"小夕","家妻修养指南");insert into `student` values(2,"德克萨斯","剑雨");insert into `student` (`name`,`major`) values("羽毛笔","卖萌"); --仅限primary key有自动自增的时候
更新表单中的内容
update`student`
set `major` = "近战"
where `major` = "术士";
update `student`
set `major` = "近战"
where `student_id` = 1;
删除表单
delete from `student`
where `student_id` in (1,3);
delete from `student`
where `student_id` % 2 = 1;
从表单中取得资料(三种方法)
-- 取得资料
select `name` , `major` from `student`;select * from `student`
order by `student_id` desc -- 默认asc由低到高,desc由高到低
limit 2; -- 限制取回的资料的数目select * from `student`
order by `student_id` , 'score' desc; -- 先根据student_id排序,如果student_id 一样的话,就按照score进行排序
aggregate functions 聚合函数
– 1、取得员工人数
select count(*) from `employee`;
– 2、取得所有出生日1970-01-01之后的女性员工人数
select count(*) from `employee` where `birth_data` > "1970-01-01" and `sex`='F';
– 3、取得所有员工的平均薪水
select avg(`salary`) from `employee`;
– 4、取得所有员工薪水的总和
select sum(`salary`) from `employee`;
– 5、取得薪水最高的员工
select max(`salary`) from `employee`;
– 6、取得薪水最低的员工
elect min(`salary`) from `employee`;
wildcards 万用字元 %代表多个字元 , _ 代表一个字元
1、取得电话号码位数是114514的客户
select *
from `client`
where `phone` like "%114514";
2、取得姓小的用户
select *
from `client`
where `client_name` like "小%";
3、取得生日在12月的员工
select *
from `employee`
where "birth_data" like "_____12%"; -- 2000-12-19
union 联集
1、员工名字 union 客户名字
select `name`
from `employee`
union
select `client_name`
from `client`
union
select `branch_name`
from `branch`;
2、员工id + 员工名字 union 客户id + 客户名字
select `emp_id` as `changed_id`, `name` as `changed_name`
from `employee`
union
select `client_id`,`client_name`
from `client`;
3、员工薪水 union 销售金额
select `salary` as `changed_salary`
from `employee`
union
select `total_sales`
from `work_with`;
join 连接:可以帮助我们把两个表格连接在一起
取得所有部门经理的名字
- left : 条件成不成立都会传回左边的表格
- right ;条件成不成立都会传回右边的表格
select `emp_id`,`name`,`branch_name`
from `employee` left join `branch`
on `employee`.`emp_id` = `branch`.`manager_id`;
subquery 子查询
1、找出研发部门的经理名字
select `name`
from `employee`
where `emp_id` = (select `manager_id`from `branch`where `branch_name` = "研发"
);
2、找出对单一客户销售金额超过50000的员工的名字
select `name`
from `employee`
where `emp_id` in (select `emp_id`from `works_with`where `total_sales` > 50000
);
on delete
删除之后把联系的table设置为null
create table `branch`(`brach_id` int primary key,`branch_name` varchar (20),`manager_id` int ,foreign key(`manager_id`) references `employee`(`emp_id`) on delete set null
);
删除之后把联系的table对应元素也删除了
create table `works_with`(`brach_id` int primary key,`branch_name` varchar (20),`manager_id` int ,foreign key(`manager_id`) references `emp_id` on delete cascade,foreign key(`client_id`) references `emp_id` on delete cascade
);
【LittleXi】sql学习笔记相关推荐
- 判断题:oracle自带的sql语言环境是pl/sql,Oracle之PL/SQL学习笔记之数据类型(三)
Oracle之PL/SQL学习笔记之数据类型(三) 所有的编程语言中变量是使用最频繁的.PL/SQL作为一个面向过程的数据库编程语言同样少不了变量,利用变量可以把PL/SQL块需要的参数传递进来,做到 ...
- Spark学习笔记(7)---Spark SQL学习笔记
Spark SQL学习笔记 Spark SQL学习笔记设计到很多代码操作,所以就放在github, https://github.com/yangtong123/RoadOfStudySpark/bl ...
- Oracle之PL/SQL学习笔记之有名块练习
2019独角兽企业重金招聘Python工程师标准>>> Oracle之PL/SQL学习笔记之有名块练习 存储过程案例: 案例1: 根据雇员姓名跟新雇员工资,如果雇员不存在输出没有该雇 ...
- 探针一号的SQL学习笔记
SQL学习笔记 文章目录 SQL学习笔记 1.问题 2.SQL基本语句 3.SQL基本数据查询 4.SQL复杂点的数据查询 5.DML操作 6.数据表操作 1.问题 什么是数据库? 是一个仓库,可以按 ...
- SQL学习笔记_Aliyun4
SQL学习笔记_Aliyun4 本笔记为阿里云天池龙珠计划SQL训练营的学习内容,链接为:https://tianchi.aliyun.com/specials/promotion/aicampsql ...
- 简简单单 My SQL 学习笔记(2)——分组和简单数据的查询
初始数据 创建表(要记得先选择好我们的数据库 use+数据库名) create table student( studentno int(4) primary key not null auto_in ...
- SQL学习笔记之二:QUOTENAME函数
SQL学习笔记之二:QUOTENAME函数 --SQL学习笔记二 --函数QUOTENAME --功能:返回带有分隔符的Unicode 字符串,分隔符的加入可使输入的字符串成为有效的Microsoft ...
- SQL学习笔记 | 02 SQL语句结构
SQL学习笔记 | 02 SQL语句结构 一.表的导入 1.表的命名 2.导入步骤 3.导入需注意 二.标准SQL语法 1.语句结构 2.数据表的其他关键词 3.SQL语句的分类 一.表的导入 1.表 ...
- SQL学习笔记(基础部分)
SQL学习笔记 基础部分 SQL语法 数据库语言对大小写不敏感,用分号分隔每条数据库语言 SQL通用数据类型 SQL开发,在创建SQL表时要确定每个列要存储的数据类型,每一列都需要一个列名和确定的数据 ...
最新文章
- Spring Boot项目搭建易错注意事项
- 基于Redis的MQ中间件实现-目录
- 工作十余年,还是一直被问 委托和事件 有什么区别? 真是够了
- git提交代码到自己的分支,并合并到主分支的完整流程。
- 编写安全 PHP 应用程序的七个习惯
- 英语口语Week16 Wednesday
- blast2go mysql_Blast2go本地化教程
- 两个not exists_分享两个冷门但又超实用的 Vim 使用技巧!
- 自动的自动化:EvoSuite 自动生成JUnit的测试用例
- mac安装helm工具_适用于初学者的基本 kubectl 和 Helm 命令
- CSS3 Transform 变形
- ArcMap10.2 本地安装教程
- C语言根号作用,c语言中如何开根号运算
- 【SDOI2015】星际战争(网络流)
- 最新电脑cpu性能排行服务器,服务器cpu性能如何 服务器cpu性能排行榜介绍【详解】...
- 2021-09-23记录下wifi调试流程
- 第五天实验---MGRE环境下的OSPF实验
- 基础: 有效值、RMS、振幅、幅度概念
- Ubuntu下安装XAMPP
- Python for 循环遍历字符串