数据库基本操作 DDL语句和DML语句

133 阅读3分钟

DDL语句

查看数据库

mysql> show databases; // 注意有分号,有S

创建数据库

mysql> crate database test1; // 注意没有S ,test1是数据库的名字

使用数据库

mysql> use test1; //test1是数据库的名字

查看本数据库中相关的表格

mysql> show tables; // show后面是固定的,有S 

删除数据库

mysql> drop test1; 

创建表格

mysql>  create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2)); // emp是自定义的表格名称,ename,hiredate demtno是字段名字,他们后面对应的是他们对应的类型。

查看表格的结构

mysql> desc emp; // 注意有分号,有冒号 

这里写图片描述

查看详细表格信息

mysql>  show create table emp; // emp是自定义的表格名称,可以查看创建表格的详细信息

可以查看创建表格的详细信息

删除表格

mysql> drop table emp; 

修改表格里面的类型。例如varchar(10)

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

这里写图片描述

增加表格里面的字段

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

这里写图片描述

删除表格里面的字段

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> alter table emp modify age1 int(3) first;//将age1 这个字段设置在第一个位置

这里写图片描述

更改表明

mysql> alter table emp rename emp1; 

DML语句

插入记录

mysql>insert into emp(age1,ename,birth,hiredate,sal,depton)values(23,'lisa','2017-02-03','2008-05-06','1000',1);
//下面的效果是一样的,但是必须保持与字段一一对应
mysql>insert into emp values(23,'lisa','2017-02-03','2008-05-06','1000',1);

这里写图片描述

插入部分

mysql>insert into emp(age1,ename)values(23,'lisa');

这里写图片描述

查询所有

mysql>select * from emp;//最常见的mysqlyuju

对表格中一次性插入多条数据

mysql>insert into dept values(1,'kangkang'),(2,'lili');

这里写图片描述

更新数据

mysql>update emp set deptname = "biaoge" where deptno = 5;

这里写图片描述

根据条件同时更新多个表格中的数据

mysql> update  emp a,dept b  set a.ename = 'zhangwei',b.deptname='zhanglan' where a.age1=b.deptno;
//根据两个表格中相同的部分来更新数据

这里写图片描述

删除记录

mysql>delete from emp where ename ='zhangwei';

这里写图片描述

跟据条件搜索

mysql>select ename,birth from emp;

这里写图片描述

搜索后排序

mysql>select * from emp order by age1;

这里写图片描述

搜索后排序,有重复情况

mysql>select * from emp order by age1,deptno;

这里写图片描述

搜索后排序,有重复情况 降序

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

这里写图片描述

搜索后排序,限制条数

mysql>select * from emp order by age1 limit 2

这里写图片描述

搜索后排序,限制条数 固定开始行

mysql>select * from emp order by age1 limit 1,3;

这里写图片描述

根据条件搜索

mysql>select * from emp where age1>23 order by age1;

这里写图片描述

这里插一句话

外连接分为左连接和右连接 左连接:包含所有左边表中的记录甚至是有边表中没有和他匹配的
记录 右连接:包含所有有边表中的记录甚至是左边表格中没有和他匹配 的记录

连表查询

mysql> select * from emp where deptno in (select deptno from dept);

这里写图片描述

联合

mysql> select deptno from emp
    -> union all
    -> select deptno from dept;

这里写图片描述

取消联合

mysql> select deptno from emp
    -> union
    -> select deptno from dept;