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;