查询:show tables;
查询表结构:desc 表名;
修改表名:alter table 表名 rename to 新的表名;
修改表的字符集:alter table 表名 character set 字符集名称;
添加一列:alter table 表名 add 列名 数据类型;
修改列名称 类型
alter table 表名 change 列名 新列名 新数据类型;
alter table 表名 modify 列名 新数据类型;
删除列:alter table 表名 drop 列名;
删除:drop table 表名;
drop table if exists 表名;
DML增删改表中数据
添加数据:insert into 表名(列名1,列名2,...列名n) values(值1,值2,...值n);
删除数据:delete from 表名[where 条件]
修改数据:update 表名 set 列名1=值1,列名2=值2,...[where 条件];
DQL查询表中的记录
select *from 表名;
语法:
select
字段列表
from
表名列表
where
条件列表
group by
分组字段
having
分组之后的条件
order by
排序
limit
分页限定
去除重复:
distinct
起别名:as
排序查询:
order by 排序字段1 排序方式1,排序字段2 排序方式2...
聚合函数:将一列数据作为一个整体,进行纵向的计算
1,count:计算个数
2.max
3.min
4.sum
5.avg
分组查询
group by 分组字段;
分页查询
limit 开始的索引,每页查询的条数;
唯一约束
唯一约束:unique, 值不能重复
1.创建表时,添加唯一约束
create table stu (
id int,
phone_number varchar(20) unique
);
2.删除唯一约束
alter table stu drop index phone_number;
3.创建表后,添加唯一约束
alter table stu modify phone_number varchar(20) unique;
主键约束
1.在创建表时,添加主键约束,并且完成主键自增长
create table stu(
id int primary key auto_increment,
name varchar(20)
);
2.删除自动增长
alter table stu modify id id int;
3.添加自动增长
alter table stu modify id int auto_increment;
1.子查询的结果是单行单列的:
*子查询可以做为条件,使用运算符去判断。运算符:>>=<<==
*查询员工工资小于平均工资的人
select * from emp where emp.salary <(select avg(salary) from emp);
2.子查询的结果是多行单列的:
*子查询可以作为条件,使用运算符in来判断
--查询'财务部'和‘市场部’所有员工的信息
selectid from emp dept where name='财务部' or name ='市场部';select * from emp where dept_id = 3 or dept_id = 2;
--子查询
select * from emp where dept_id in(select id from emp dept where name='财务部' or name ='市场部');
3.子查询的结果是多行多列的:
*子查询可以作为一章虚拟表参与查询
--查询员工入职日期是2011-11-11之后的员工信息和部门信息
--子查询
select * from dept t1,(select * from emp where emp.'join_date'>'2011-11-11') t2
where t1.id = t2.dept_id;
--普通内连接
select * from emp t1,dept t2 where t1.'dept_id'= t2.'id' and t1.'join_date'>'2011-11-11'
创建用户:create user '用户名'@'主机名' indentified by '密码';
create user 'xiaoming'@'localhost' indentified by '123';
删除用户:drop uesr '用户名'@'主机名';
drop user 'xiaoming'@'localhost'
修改用户密码:
update user set password = password('新密码') where user ='用户名';set password for'用户名'@'主机名'= password('新密码');
查询用户:
1.user mysql;select * from user;
mysql中忘记root用户的密码?
1.打开cmd(管理员权限) net stop mysql 停止myssql服务
2.使用无验证方式启动mysql:mysqld --skip-grant-tables
3.打开新的cmd窗口,直接mysql命令,敲回车。就可以登录成功。
4.use mysql;
5.update user set password = password('新密码') where user ='root';
6.关闭两个窗口
7.打开任务管理器,手动结束mysqld.exe的进程
8.启动mysql服务cmd中输入 net start mysql
9.使用新密码登录