找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
linux环境安装mysql教程
第一步、查找以前是否安装有mysql
rpm -qa|grep -i mysql
第二步、如果已安装,则需要删除已安装的数据库
删除包命令:rpm -e --nodeps 【包名】
rpm -e --nodeps  mysql-libs-5.1.66-2.el6_3.i686
注意:若老版本mysql已建开发头文件和库需进行相应删除
rm -f /etc/my.cnf
rm -fr /var/lib/mysql
第三步:安装数据库客户端和服务端
yum install mysql #mysql客户端
yum install mysql-server #mysql服务端
第四步:启动mysql服务
[root@192 /]# service mysqld status #查看当前服务的状态
mysqld is stopped #服务已停止
[root@192 /]# service mysqld start #开启服务
[root@192 /]# service mysqld status #查看当前服务的状态
mysqld (pid 2636) is running... #服务已开启
第五步:进入mysql交互页面
[root@192 /]# mysql -uroot -p
Enter password: #输入密码 mysql> use mysql;
进入mysql数据库
注意点:
在数据库交互页面,可以使用sql语句,进行数据库操作。
mysql> exit; #退出数据库操作
第六步:
修改mysql数据库密码命令:
[root@localhost /]# mysqladmin -urootpassword "123456"
一、常见的sql语句
1创建一个数据库
create database +库名
:创建一个db1数据库
create database db1
2显示哪些数据库
show databases
3. 进入某个数据库
use +库名
4. 删除某个数据库
drop database +库名
5.创建一个表
create table +表名
字段1名称,数据类型, 约束
字段2名称,数据类型,约束,
字段3名称,数据类型,约束,
例如:创建一张学生表student,学号id, 姓名name.
create table student
( id int(20) primary key,name varchar(30));
1 字段名称
字段名称可以自定义,表是由行和列组成,列名称为字段名
2.数据类型
mysql常用的数据类型
2.1 int
存储整数 ==》超过2147483647bigint
2.2 float
默认保存6位精度(包括小数位和整数位)Float(20,2)指小数点后面2
2.3 char
存储字符 char(10)可能占用了10个字节
2.4 varchar(10)
存储字符
varchar(10)只占了6个字节,把其余的4个字节留给了下 一个字符
2.5 date
建表的时候在日期的后面接date,并且加引号 注意点 int(3) int(M) M指最大显示宽度 char(20) char(M) M指最大能存储20个字符
3.约束
约束用于对表中字段进行限制,保证表中数据的正确性和唯一性
约束类型
3.1 primary key
主键约束
说明:非空,唯一,用于唯一标识对应的记录。类似身份证。
3.2 foreign key
外键约束
说明:用于表与表建立关系模型,使表与表紧密的结合起来。
3.3 not null
非空约束
说明:字段值不能为Null
3.4 default
默认值约束
说明:默认给字段指定默认值
3.5 auto_increment
自增约束
说明:作用在整数类型,字段默认从1开始自增
二、修改表结构
1.查看表结构
desc +表名显示字段名称,数据类型,约束,备注
2.修改表名
alter table +表名 rename + 新表名
3.修改表字段
alter table +表名change +原字段名 +新字段名 数据类型,约束
4.添加表字段,并放到第一个字段前
alter table +表名add +字段名 数据类型 约束 first
5.添加表字段,并放到某个字段后
alter table +表名add +字段名 数据类型 约束 after +字段名
6.同时添加两个字段,默认添加到字段最后
alter table +表名add(字段1 数据类型,字段2 数据类型)
7. 删除表字段
alter table +表名drop + 字段
8.删除表两个字段
alter table +表名drop 字段1,drop 字段2
9.修改主键id为自增长
alter table +表名change +字段名*2 数据类型 auto_increment
10.删除表
drop table +表名
三、单表查询
1.查询表中所有数据
select * from +表名 ”*“ 代表所有
2. 查询某个字段的数据
select 字段from +表名
3. 查询多个字段的数据
select字段1,字段2 from +表名
4.查询满足某个条件的所有数据
select * from +表名 where 字段=where 后面接满足的条件
5.查询不满足某个条件的所有数据
select * from +表名 where 字段!=value
= ” 代表不等于 ,也可以用符号 ”<>“ 代表不等于
6.查询同时满足多个条件数据
select* from +表名 where 条件1 and 条件2
and 关键字左右的两个条件必须同时满足
7.查询满足至少1个条件的数据
select * from +表名 where 条件1 or 条件2
or 关键字左右的两个条件至少满足1个,否则返回空
8.查询一个条件范围内的数据
select* from +表名 where 字段 between m and n
between...and ... 指定一个范围
9查询字段满足在指定的集合中的数据
select * from +表名 where 字段 in(1,值2,值3)
10查询字段不满足在指定集合中的数据
select * from +表名 where 字段 not in (1,值2,值3)
11.查询字段值为空的数据
select * from +表名 where 字段 is null
注意:字段是空不能写成 字段=null
12.查询字段不为空的数据
select * from +表名 where 字段 is not null
13.查询某个字段模糊匹配成功的数据
select* from +表名 where 字段 like “%%”
%用于匹配字段开头和结尾
14.查询限定的数量的数据
select * from +表名 where 字段 limit m,n
m 指下标,n指限定的数量,下标为m的开始的n条数据
15.查询的数据根据某个字段从小到大排序
select * from +表名 order by 字段 asc
order by ...asc 从小到大排序
16.查询的数据根据某个字段从大到小排序
select* from +表名 order by 字段 desc
order by ... desc 从大到小排序
17.查询的数据根据某个字段进行分组
select * from +表名 group by 字段
group by ... 根据条件分组
18.查询的数据根据某个字段进行分组再条件过滤
select * from +表名 group by 字段 having 条件
having跟在group by 后面,作用相当于where
单表查询总结
1.where 不能放在GROUP BY 后面 where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉, 即在分组之前过滤数据,条件中不能包含聚组函数比如SUM(),AVG()等,使用 where条件显示特定的行。
2.having 是跟GROUP BY 连在一起用的,放在GROUP BY 后面,此时的作用相当 WHERE having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件显示特定的组,也可以使用多个分组标准进行分组。
mysql聚合函数
19. 统计查询数据的数量
select count(*) from +表名
20. 查询某个字段求和
select sum(字段) from +表名
21. 查询某个字段进行平均值
selectavg(字段) from +表名
22. 查询某个字段最大值
select max(字段) from +表名
23. 查询某个字段最小值
select min(字段) from +表名
24 对某个字段进行去重
select distinct(字段) from +
四、Mysql增删改语句
1.表中插入数据
insert into +表名values(字段1value,字段2value,字段3value...)
2.一次性表中插入多条数据
insert into +表名values(字段1value,字段2value,字段 3value...),(字段1value,字段2value,字段3value...)
3.对表中指定字段插入数据
insert into +表名(字段1,字段2) values(字段1值,字段2)
4. 删除表中指定数据
delete from +表名where 条件
5. 删除表
truncate +表名
6. 删除表
drop table +表名
7.更新表中指定字段数据
update+表名 set 字段名=where
注:TRUNCATE,DELETE,DROP放在一起比较:
(truncate)TRUNCATETABLE:删除内容、释放空间但不删除定义。
(delete)DELETETABLE:删除内容不删除定义,不释放空间。
(drop)DROP TABLE:删除内容和定义,释放空间。
备份表,备份数据,备份数据库,还原数据库
1.备份表,创建一个表与某个表相同
create table +1 like +2
2.备份数据,把一个表的数据插入到另一个表
insert into +表名 select * from +表名
注意点:插入的表必须要存在
3.把一个表的某些字段插入到一个新表中
insert into +1(字段1,字段2) select 字段1,字段2 from 2
注意点 1. 插入的表必须存在
2.插入的表是新表,没有数据。
4.备份数据库
mysqldump -uroot -p 数据库名 >脚本名
5还原数据库
mysql -uroot -p +数据库 <脚本名
五、数据库用户权限操作
如何给普通的数据库用户赋予相应的权限(如增删改查):
1.进入mysql数据库:
use mysql;
2.查询mysql数据库服务器已经创建了哪些用户:
select host,user from user;
3.创建用户但是未授权(方法一)
insert into user (host,user,password)values('localhost','wang' ,password('123456'));
创建用户后需要刷新下:flushprivileges;
4.创建用户后进行授权(方法二)
grant select,update,delete,drop on *.* to'wang'@'localhost' identified by '123456’
5.创建用户同时授权
grant all privileges on *.* to'xiaowang'@'%' identified by '123456';
授予一个普通用户xiaowang及密码为123456,允许其可以通过所有客户机 访问本数据库下所有的库及所有的表,假如为localhost只能在本地进行访问。
其下面所有的表,权限为所有权限。
6.flush privileges ---刷新
show grants for 'wang'@'%'; //查看数据库的指定授权用户的权限
revoke all on *.* from 'dcs'@'%' ;//取消所有权限
delete from user where user= 'zhongguo'andhost= 'localhost';删除用户
update user set password=password('123456')where user= 'root';修改root用户的密码

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册