1.Mysql语句
系统命令 :
启动服务
net start mysql
停止服务
net stop mysql
进入mysql命令行
mysql -uroot -p123456
退出mysql命令行
exit
修改密码
mysqladmin -uroot -p123456 password root
常用命令:
--显示数据库实例
show databases;
--创建数据库实例
create database mydb;
--使用数据库实例
user mydb;
--显示实例中所有数据库表
show tables;
2.SQL语句
DDL:
--查看表结构
desc tbuser;
--向表中新增level列是int类型
alter table tbuser add level int;
--修改表中列的(将level列的名称改变为dengji)
alter table tbuser change level dengji int;
--删除表
drop table tbuser;
DML:
--向表中插入一条数据
insert into tbuser(username,password) values('softeem','123456');
--批量插入数据
insert into tbuser values(1,'rose','666'),(2,'jack','8888'),(3,'tom','999');
--蠕虫复制
insert into tbuser select * from tbuser;
--查询表中所有数据
select * from tbuser
--修改所有id为null的列为0
update tbuser set id=0 where id is null;
--修改多列数据
update tbuser set password='admin',username='admin' where id=1;
--删除id为0的所有数据
delete from tbuser where id=0;
sql查询常见关键字:
from子句:指定查询数据的表
where子句:查询数据的过滤条件
group by子句:对匹配where子句的查询结果进行分组
having子句:对分组后的结果进行条件限制order by子句:对查询结果结果进行排序,后面跟desc降序或asc升序(默认)
limit子句:对查询的显示结果限制数目。
单表查询 :
--查询所有员工的姓名,职位,月薪
select ename,job,sal from emp;
--查询月薪超过10000的员工
select * from emp where sal>10000;
--查询入职时间在2017-01-01~2017-12-31之间的员工
select * from emp where hiredate between '2017-01-01' and '2017-12-31';
--查询所有市场经理和项目经理信息
select * from emp where job in('市场经理','项目经理');
--模糊查询 ‘%’ ‘_’
--查询员工姓名中包含‘杰’的员工
select * from emp where ename like '%杰%';
--查询员工中所有的‘张’姓员工
select * from emp where ename like '张%';
--查询员工中‘周’姓名字只有两个字的员工
select * from emp where ename like '周_';
--聚合函数:count() max() min() sum() avg()
--查询出emp表中的总记录行数
select count(*) from emp;
--查询出emp表中的最高/低薪资 max/min
select max(sal) from emp;
--统计一个月需要支出的共工资?
select sum(sal) from emp;
--统计1号部门的平均薪资?
select avg(sal) from emp where dno=1;
--查询出所有的职位名称去除重复(distinct)
select distinct job from emp;