MySQL数据库常用操作总结:
来源:互联网 发布:python爬虫网页数据 编辑:程序博客网 时间:2024/05/16 19:15
MySQL数据库操作:
最近在学MySQL数据库,发现有很多地方自己都不是很会,所以自己就整理了一下MySQL数据库的常用操作的语法和使用期间发现的几个常见小问题
1.MySQL的安装与卸载时注意: 设置字体为:utf8
2.启动MySQL服务: net start mysql
关闭MySQL服务: net stop mysql
3.登陆MySQL服务器: mysql -h localhost -u root -p
123(用户名:root,密码:123)
退出:exit
远程连接:mysql -h 192.168.1.181 -u root -p 123
注意:上面几步后面不加 ";"
4.show databases 查看MySQL中的数据库
5.创建数据库:create database wpj1111; (注意以分号结尾)
DDL:(数据库定义语言) create drop alter 针对数据库或表的结构
DCL:(数据库控制语言) grant revoke commit rollback 针对数据库的权限操作、事务处理
DML:(数据库操作语言) insert delete update select 针对数据库增、删、改、查的操作
6.使用数据库:use wpj1111;
7.建表:create table emp(id int,
name varchar(20),
age int,
sex char(4),
salary float);
注意:char定长(省空间) varchar可变长度(时间慢)
8.查看表结构描述:desc emp;
9.插入一条语句:insert into emp(id,name,age,sex,salary) values(1,'liuhui',18,'M',8000);
注意:日期格式也是用单引号引起来
10.查询表中的数据:
select * from emp;
11.修改表中的数据:
update emp set salary=6666 where id=1;
12.删除记录:
delete from emp; 清空表中的数据
delete from emp where id=4; 删除id为4的记录
13.解决中文编码:
查看数据库状态:status
a.找到MySQL安装目录下的my.ini文件,找到default-character-set=utf8 (要改两个地方成utf8)
b.net stop mysql net start mysql
c.set names gbk;(在客户端,修改编码方式为gbk)
d.对于修改编码之前已经创建好的数据库或者表:
alter database wpj1111 default character set utf8;
alter table emp convert to character set utf8;
e.改好之后:exit->net stop mysql->net start mysql->mysql -uroot -p123
14.为表设置主键:
alter table emp add constraint EMP_ID primary key(id);
主键:一条记录的唯一标识 不能为空,且不能重复
15.主键自动增长:
auto_increment identity sequence
mysql sqlserver orcal
alter table emp modify id int auto_increment;
主键自动增长之后:主键值为空,用 null 或者 0 代替
16.查询:
a.查询年龄从13岁到19岁员工的所有信息
select * from emp where age>=13 and age<=19;
select * from emp where age between 13 and 19; (not between...)
b.查询id为5或者id为8的员工的信息:
select * from emp where id=5 or id=8;
select * from emp where id in (5,8); (not in)
c.查询姓"俏",并且姓名是三个字符的员工信息:
模糊查询:like "_"匹配一个字符
select * from emp where name like '俏__';
d.查询姓名中带有"丽"字的员工的信息:
select * from emp where name like '%丽%';
在项目中,利用这种模糊查询,完成搜索功能
e.查询一张表前3条记录:
select * from emp limit m,n; (m代表起始记录索引号,n代表查询记录的条数)
查询从第m到第n条记录:
select * from emp limit (m-1),(n-m+1);
在项目中,利用此技术实现分页
17.聚合函数:(取别名,as可写可不写 可用空格代替)
sum() 求总和 select sum(salary) 总工资 from emp;/select sum(salary) as 总工资 from emp;
count() 求记录总数 select count(*) from emp;/select count(*) 总人数 from emp;
avg() 求平均值 select avg(salary) as 平均工资 from emp;
max() 求最大值 select max(salary) as 最高工资 from emp;
min() 求最小值 select min(salary) as 最低工资 from emp;
求最高工资与最低之差:select max(salary)-min(salary) 工资差 from emp;
嵌套查询:主查询 子查询(子查询用小括号括好)
求最高工资的员工信息:select * from emp where salary=(select max(salary) from emp);
求出低于平均工资的员工信息:select * from emp where salary<(select avg(salary) from emp);
18.求出所有男、女员工的工资总和:
select sum(salary) 总工资 from emp where sex='M';
select sum(salary) 总工资 from emp where sex='F';
用一条语句分别求出所有男员工和女员工的工资总和:
select sex,sum(salary) 工资总和 from emp group by sex;
19.求出总工资最高的那组信息:
a.由简入繁
b.把查询结果作为查询条件
方法一:不断的嵌套
1.select sex,sum(salary) 工资总和 from emp group by sex;
2.切忌要给表添加别名:如t
select * from (select sex,sum(salary) 工资总和 from emp group by sex) t;
3.select max(工资总和) from (select sex,sum(salary) 工资总和 from emp group by sex) t;
4.select * from(select sex,sum(salary) 工资总和 from emp group by sex) t
where 工资总和=(select max(工资总和) from (select sex,sum(salary) 工资总和 from emp group by sex) t);
方法二:排序
1. 使用升序排序 默认为升序(asc)
select sex,sum(salary) 工资总和 from emp group by sex order by 工资总和 desc; //使用降序
2.取出第一条:
select sex,sum(salary) 工资总和 from emp group by sex order by 工资总和 desc limit 0,1;
20.MySQL忘记密码如何解决?
1.停止MySql服务,命令行窗口:net stop mysql
2.命令行窗口,进入MySql的安装目录:D:\>cd Program Files\MySQL Server5.1\bin
3.跳过权限检查启动MySql:D:\Program Files\MySQL Server5.1\bin>mysqld-nt --skip-grant-tables
4.重新打开一个命令行窗口,执行以下步骤:
C:\Documents and Settings\Administrator>mysql
mysql> use mysql
mysql> update user set password=PASSWORD('456') where user='root';
mysql> flush privileges;
mysql> exit
5.停止MySql Server,用正常模式启动MySql,使用新设置的密码登陆即可.
最近在学MySQL数据库,发现有很多地方自己都不是很会,所以自己就整理了一下MySQL数据库的常用操作的语法和使用期间发现的几个常见小问题
1.MySQL的安装与卸载时注意: 设置字体为:utf8
2.启动MySQL服务: net start mysql
关闭MySQL服务: net stop mysql
3.登陆MySQL服务器: mysql -h localhost -u root -p
123(用户名:root,密码:123)
退出:exit
远程连接:mysql -h 192.168.1.181 -u root -p 123
注意:上面几步后面不加 ";"
4.show databases 查看MySQL中的数据库
5.创建数据库:create database wpj1111; (注意以分号结尾)
DDL:(数据库定义语言) create drop alter 针对数据库或表的结构
DCL:(数据库控制语言) grant revoke commit rollback 针对数据库的权限操作、事务处理
DML:(数据库操作语言) insert delete update select 针对数据库增、删、改、查的操作
6.使用数据库:use wpj1111;
7.建表:create table emp(id int,
name varchar(20),
age int,
sex char(4),
salary float);
注意:char定长(省空间) varchar可变长度(时间慢)
8.查看表结构描述:desc emp;
9.插入一条语句:insert into emp(id,name,age,sex,salary) values(1,'liuhui',18,'M',8000);
注意:日期格式也是用单引号引起来
10.查询表中的数据:
select * from emp;
11.修改表中的数据:
update emp set salary=6666 where id=1;
12.删除记录:
delete from emp; 清空表中的数据
delete from emp where id=4; 删除id为4的记录
13.解决中文编码:
查看数据库状态:status
a.找到MySQL安装目录下的my.ini文件,找到default-character-set=utf8 (要改两个地方成utf8)
b.net stop mysql net start mysql
c.set names gbk;(在客户端,修改编码方式为gbk)
d.对于修改编码之前已经创建好的数据库或者表:
alter database wpj1111 default character set utf8;
alter table emp convert to character set utf8;
e.改好之后:exit->net stop mysql->net start mysql->mysql -uroot -p123
14.为表设置主键:
alter table emp add constraint EMP_ID primary key(id);
主键:一条记录的唯一标识 不能为空,且不能重复
15.主键自动增长:
auto_increment identity sequence
mysql sqlserver orcal
alter table emp modify id int auto_increment;
主键自动增长之后:主键值为空,用 null 或者 0 代替
16.查询:
a.查询年龄从13岁到19岁员工的所有信息
select * from emp where age>=13 and age<=19;
select * from emp where age between 13 and 19; (not between...)
b.查询id为5或者id为8的员工的信息:
select * from emp where id=5 or id=8;
select * from emp where id in (5,8); (not in)
c.查询姓"俏",并且姓名是三个字符的员工信息:
模糊查询:like "_"匹配一个字符
select * from emp where name like '俏__';
d.查询姓名中带有"丽"字的员工的信息:
select * from emp where name like '%丽%';
在项目中,利用这种模糊查询,完成搜索功能
e.查询一张表前3条记录:
select * from emp limit m,n; (m代表起始记录索引号,n代表查询记录的条数)
查询从第m到第n条记录:
select * from emp limit (m-1),(n-m+1);
在项目中,利用此技术实现分页
17.聚合函数:(取别名,as可写可不写 可用空格代替)
sum() 求总和 select sum(salary) 总工资 from emp;/select sum(salary) as 总工资 from emp;
count() 求记录总数 select count(*) from emp;/select count(*) 总人数 from emp;
avg() 求平均值 select avg(salary) as 平均工资 from emp;
max() 求最大值 select max(salary) as 最高工资 from emp;
min() 求最小值 select min(salary) as 最低工资 from emp;
求最高工资与最低之差:select max(salary)-min(salary) 工资差 from emp;
嵌套查询:主查询 子查询(子查询用小括号括好)
求最高工资的员工信息:select * from emp where salary=(select max(salary) from emp);
求出低于平均工资的员工信息:select * from emp where salary<(select avg(salary) from emp);
18.求出所有男、女员工的工资总和:
select sum(salary) 总工资 from emp where sex='M';
select sum(salary) 总工资 from emp where sex='F';
用一条语句分别求出所有男员工和女员工的工资总和:
select sex,sum(salary) 工资总和 from emp group by sex;
19.求出总工资最高的那组信息:
a.由简入繁
b.把查询结果作为查询条件
方法一:不断的嵌套
1.select sex,sum(salary) 工资总和 from emp group by sex;
2.切忌要给表添加别名:如t
select * from (select sex,sum(salary) 工资总和 from emp group by sex) t;
3.select max(工资总和) from (select sex,sum(salary) 工资总和 from emp group by sex) t;
4.select * from(select sex,sum(salary) 工资总和 from emp group by sex) t
where 工资总和=(select max(工资总和) from (select sex,sum(salary) 工资总和 from emp group by sex) t);
方法二:排序
1. 使用升序排序 默认为升序(asc)
select sex,sum(salary) 工资总和 from emp group by sex order by 工资总和 desc; //使用降序
2.取出第一条:
select sex,sum(salary) 工资总和 from emp group by sex order by 工资总和 desc limit 0,1;
20.MySQL忘记密码如何解决?
1.停止MySql服务,命令行窗口:net stop mysql
2.命令行窗口,进入MySql的安装目录:D:\>cd Program Files\MySQL Server5.1\bin
3.跳过权限检查启动MySql:D:\Program Files\MySQL Server5.1\bin>mysqld-nt --skip-grant-tables
4.重新打开一个命令行窗口,执行以下步骤:
C:\Documents and Settings\Administrator>mysql
mysql> use mysql
mysql> update user set password=PASSWORD('456') where user='root';
mysql> flush privileges;
mysql> exit
5.停止MySql Server,用正常模式启动MySql,使用新设置的密码登陆即可.
- MySQL数据库常用操作总结:
- 常用mysql数据库操作命令总结
- mysql的常用操作总结(数据库常用操作)
- Mysql数据库常用操作
- MySQL数据库常用操作
- MySQL数据库 常用操作
- MySQL数据库常用操作
- Mysql数据库常用操作
- mysql数据库常用操作
- MySQL数据库常用操作
- MySQL数据库常用操作
- mysql常用操作总结
- MySQL 常用操作总结
- mysql常用操作总结
- mysql常用操作总结
- [mysql] mysql 数据库常用操作
- MySql数据库操作总结
- MySql数据库操作总结
- 求职准备一
- 【报表开发】iReport使用心得
- Unity3d_多倍反锯齿
- hibernate之自定义持久化实现
- JavaTomcat(一)
- MySQL数据库常用操作总结:
- treenode.tag意义
- android:label标签在application和activity中的设置问题
- Mahout0.8中Bayes分类器的原理与使用
- CoreText学习(一)Base Objects of Core Text
- vi快捷键
- Codeforces Beta Round #51 D. Beautiful numbers
- 虚拟文件系统(VFS)中的链表
- cocos2d-x plist文件读取