vlambda博客
学习文章列表

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

古人言:对于一个程序员来说,只要学会的增删改查,其他还会远吗?话不多说,用硬核知识来填满你的大脑吧。再次强调,小白分享,如有内容错误请指教,计较大佬请绕路哦!


1基础使用入门级

创建数据库

mysql> create database test

删除数据库

mysql> drop database test;

展示数据库

mysql> show database;

使用数据库

mysql> use test

展示所有表

mysql> show tables;

创建表

mysql> create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2));

查看表

mysql> desc emp;

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

删除表

mysql> droptable emp;

修改表

mysql>alter table emp modify ename varchar(20);

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

增加一列

mysql>alter table emp add column age int(3);

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

删除一列

mysql>alter table emp drop column age;

修改某个

mysql>alter table emp change age age1 int(4);

改变字段排列顺序

mysql>alter table emp add birth date after ename;

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

修改字段,将其放在最前面

mysql> alter table emp modify age1 int(3) first;

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

改表名

mysql> alter table emp rename emp1;


2基础语句入门级

DML语句:DML操作是指对数据库中的表记录的操作,包括插入、更新、删除、查询

例题:

mysql> create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2));

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

(1)插入insert

mysql> insert into emp(ename,hiredate,sal,deptno) value('zzx1','2000-01-01','2000',1);
mysql> insert into emp value('lisa','2003-02-01','3000',2); mysql> insert into emp(ename,sal) value('dony',1000);

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

mysql> insert into emp value('zzx2','2000-11-01','2040',5),('lisr','2003-02-04','3030',3);

(2)更新update

创建表dept

mysql> create table dept(deptno int(2),deptname varchar(10));
mysql> insert into dept value(1,'tech'),(2,'sale'),(5,'fin');

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了


MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

mysql> update emp set sal=4000  -> where ename='lisa';

修改之前:

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了


MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

mysql> update emp a,dept b -> set a.sal=a.sal*b.deptno,b.deptname=a.ename -> where a.deptno=b.deptno;

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

(3)删除

mysql>delete -> from emp where ename='dony';

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

(3)查询select

mysql> select ename,sal  -> from emp;

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

i、去掉重复的后显示

mysql>select distinct deptno -> from emp;

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了


MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

ii、条件查询where

mysql> select *  -> from emp  -> where 3000<sal and sal<=8000;

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了


MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

iii、排序和限制order bylimit

desc降序,asc升序(默认)

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

mysql> select *  -> from emp  -> order by sal;

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

mysql> select * -> from emp  -> order by deptno,sal desc;

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

注:先按照deptno排序,出现相同的按照sal排序

mysql> select *  -> from emp -> order by sal desc -> limit 2;

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

iv、聚合

i、聚合函数:sum(求和)、count(*)(记录数)、max(最大值)、min(最小值)。

ii、group by表示进行分类的字段

iii、with rollup可选语法,表明对分类聚合后的结果进行汇总。

iv、having关键字表示对分类后的结果再进行条件过滤。

例题:

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

查询emp表中统计的公司的总人数:

mysql>select count(1) -> from emp;

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

mysql> select deptno,count(1)  -> from emp -> group by deptno with rollup;

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

统计人数大于1人的部门

mysql> select deptno ,count(1)  -> from emp -> group by deptno -> having count(1)>1;

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

v、表连接

内连接:相匹配

外连接:不匹配

左连接:包含所有的左边表中的记录甚至是右边表中没有和它匹配的记录,找不到匹配的也显示出来。

右连接:包含所有的右边表中的记录甚至是左边表中没有和它匹配的记录

MYSQL你入门了吗?你还记得modify、insert等语句吗?快来看看吧,别再挠头发了

mysql> select ename,deptname  -> from emp -> left join dept  -> on emp.deptno=dept.deptno;


未完待续... ...