mysql数据库的一些基本操作(2)

数据的导入导出

数据的导入:把文件的内容保存到数据的表里

文件按一定格式存放到文件里,按照文件的格式把文件导到表里。

表的结构必须与数据文件的格式完全一样。

根据源数据内容创建表结构

数据库管理员登陆的状态时才能导入数据

数据导入命令格式

load  data  infile  ‘文件名’  into  table  表名

fields  terminated   by  ‘列分隔符’

lines   terminated   by  ‘\n’

例:

create table user_tab( user varchar(15) not null, pass varchar(10) not null, UID  varchar(5)  not null, GID  varchar(5)  not null, name varchar(30) , home varchar(30) not null, shell varchar(30), index(user));
load data infile ‘/etc/passwd‘ into table user_tab fields terminated by‘:‘ lines terminated by ‘\n‘;
alter table user_tab add id int(3) primary key auto_increment first;

数据的导出(把表里记录保存到系统文件里)

数据导出的命令格式

select 查询语句  into  outfile  ‘文件名’

Fields  terminated  by  ‘分隔符’

Lines  terminated  by  ‘\n’

导出数据时的注意事项:

导出的内容由SQL查询语句决定

若不指定路径,默认存放在执行导出操作时所在库的目录下

确保mysql进程对目标文件夹有写的权限

表记录的增、删、改、查:

添加记录:

insert  into  数据库名.表名(字段名列表) values(字段值列表),(字段值2);

依次向表中字段插入记录字段名列表可以省略。

插入记录时注意事项:

值要与字段类型匹配,同时要满足字段的约束条件。

给表中所有字段插值时字段名可以省略但字段值个数要与字段名个数相符。

向表中指定字段插值时必须有明确的字段名,有默认值的字段使用默认值给字段赋值

删除记录:

delete  from  库名.表名;

delete  from  库名.表名  where  条件表达式;

注意事项:

不加条件时,删除表中所有结构。

加条件时只删除与条件相匹配的记录。

修改记录:

update  库名.表名  set  字段名=字段值,字段名2=字段值 where 条件表达式;

若不加条件表达式,是将表中每条记录中字段名全部改为设定的值。

注意事项:

不加条件,是批量修改指定字段的值。

修改记录时,值要与字段的类型匹配,且要满足约束条件

同时修改多个字段时,字段之间用逗号间隔。

查看记录:

select  字段名列表  from  数据库名.表名;

select 字段名列表  from  库名.表名  where 条件表达式;

select  *  from  数据库名.表名;

select  字段名1,字段名2,字段名N  from 库名.表名;

条件表达式:

数据比较、范围查询、逻辑比较、正则表达式、模糊查询

数值的比较  =  >    >=   <   <=   !=

数值的范围内匹配: 字段名 between 数值1  and  数值2

范围内匹配:字段名  in  (字段值列表);  任何字段

不在范围内为not  in   字段值列表要与字段名类型匹配。

逻辑比较,多条件组合

and  逻辑与(列举的多个条件要同时成立)

or   逻辑或(列举的多个条件满足其一即可)

is  null 匹配空值    is  not   null  匹配不为空的值

distinct  不显示重复的值

select distinct 字段名 from  表名

运算操作 +   -   *    /   %(取余)

查询时可以做四则运算  数值类型

select  字段名1,字段名2+字段名3  as  别名  from  表名;

别名是临时的

正则表达式

where  字段名  regexp  ‘正则表达式’

‘^a’ 以a开头  ‘r$’ 以r结尾的

‘^a.r$’以a开头r结尾中间任意

‘^…$’ 任意三个字符的

模糊查询

where  字段名  like  ‘通配字符串’;

%    匹配0个到多个字符

_    匹配任意单个字符

分组

group  by  字段名

group  by  字段名  [having  条件表达式]

select  shell,uid  from  user_tab  group  by  shell  having  uid<500
select  shell  from  user_tab  group  by  shell having  “uid”<500

排序

order  by  字段名  [asc];    默认升序排序

order  by  字段名  desc;    降序

select  username,gid  from  user_tab  order  by  gid  desc;

限制显示记录的条目数   limit

limit  N,M  N显示记录的起始行,M共显示几行

N 默认值为0 表示从第一行开始显示

select *  from  user_tab  order  by  gid  desc  limit  10;
        10为M的值,N值默认为0,等同于limit  0,10
         N值为行数-1,0为第一行

mysql 查询时使用的函数

sum(字段名)   求和

max(字段名)   求最大值

min(字段名)   求最小值

avg(字段名)   求平均值

count(字段名)  统计字段记录数

select  count(username)  from  user_tab;
    select  count(username)  from  user_tab  where条件表达式;

修改管理员密码:

mysqladmin  -uroot  -p  password‘999’

密码是加密的,加密的函数为password

[[email protected] ~]# mysqladmin -uroot -p password ‘新密码
    enter password:旧密码
    密码保存在mysql.user

忘记数据库管理员密码:

mysql服务器默认有4个库。 mysql授权库

[[email protected] ~]# service mysql stop
Shutting down MySQL....                               [确定]
[[email protected] ~]# service mysql start --skip-grant-table
Starting MySQL...                                     [确定]
[[email protected] ~]# mysql
mysql> update mysql.user set password=password(‘123456‘) where host=‘localhost‘;

用户授权和权限撤销

数据库服务器默认只允许数据库管理员从数据库服务器本机登陆。

默认情况下只有数据库管理员从数据库服务器登陆本机登陆时才有授权权限

grant  权限列表  on 数据名  to  用户名@“客户端地址” identified   by   “密码”  with  grant  option.

权限列表的表示方式

all   所有权限

select,update,delete列表之间用逗号间隔

数据名表示方式:

*.*   数据库里的所有库所有表

数据库名.* 指定对某个库有权限

数据库名.表名  指定对某个库的某个表有权限

用户名表示方式:

授权时自定义的名字,要有标识性,授权后成功后,用户名保存在mysql.user表里。与系统 账号无关。

客户端地址表示方式:

%    所有主机

1.1.1.1 指定IP地址

192.168.1.%  指定网段

pc1.example.com  主机名(数据库服务器能够解析主机名

%.example.com  域名(数据库服务器能够解析域内的主机名)

identified  by  “密码”

设置授权用户的密码,是可选项,授权时若不指定此选项,用授权用户登录数据库服务器时没有密码

with  grant  option

可选项,作用是授权用户有授权权限,授权时若不指定此选项,授权用户没有授权权限。

授权信息保存在服务器端的mysql库里的表里。

登录用户查看自己的权限信息

show  grants;

查看权限

show  grants  for  用户名@“客户端地址”;

user 表存放授权用户的权限信息。

db表里存放对某个库的权限

tables_priv表里存放对某个表的权限

columns_priv表里存放对某个字段的权限

撤销权限

revoke  权限列表  on  数据名 from  用户名@“客户端地址”;

删除授权用户 把授权用户从user表里删除。

刷新授权

mysql> flush privileges;  //手动对mysql库里的表做操作的时候要刷新信息才能生效。去掉授权权限

revoke  grant  option  on  *.*  from  用户名@ “客户端IP地址”

授权用户登陆数据库服务器后,修改自己的登陆密码

set  password=password(‘新密码’);

管理员重置授权用户的登陆密码

set  password  for  用户名@ “客户端地址”=password(‘新密码’)

时间: 2024-10-12 08:05:23

mysql数据库的一些基本操作(2)的相关文章

【初学菜鸟作-MySQL数据库表的基本操作与权限管理】

表基本操作练习 1 复制用户信息表user的所有记录到userdb表里. mysql> create table userdb select * fromuser; 2 查看userdb表的表结构 mysql> desc userdb; 3 删除userdb表的所有记录 mysql> delete from userdb 4 把name字段设置为index字段 mysql> create index name on userdb(name) 5 添加编号字段id  在所有字段上方,

mysql数据库表的基本操作sql语句总结

1,命令行登录命令 mysql -h localhost -u root -p C:\Users\lenovo>mysql -u root -p Enter password: ***** Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.5.28 MySQL Community Server (GPL) Copyright (c) 2

mysql数据库的一些基本操作

下面列出一些做项目时常用到的一些mysql操作. 1.对数据库的操作 查看所有的数据库:show databases; 新建一个数据库:create database database_name; 此时再去查看数据库,就可以看到多出了一个school库 要对数据库进行操作时,你就得使用这个:use databases_name; 删除一个数据库:drop database school; 2.对数据表的操作 但首先要选择一个数据库,即用到上面说的use database_name; 新增一个数据

mysql数据库安装和基本操作

一键安装脚本: cat mysql_install.sh #!/bin.bash groupadd mysql useradd -s /sbin/nologin -g mysql -M mysql cd /usr/local/ wget http://mysql.com//Downloads/MySQL-5.6/mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz tar -zxvf mysql-5.6.32-linux-glibc2.5-x86_64.tar.gz

mysql数据库表的基本操作

上节我们我们学习了对库的操作,我们现在已经知道库中还有一个表,类似于我们的excel表,今天我们就来学习下表的操作!首先我们登录数据库 我们现在在乐乐库下面了,现在我们开始创建一个表 创建一个表学生表: mysql> create table student( -> name CHAR(20) NOT NULL, -> age TINYINT UNSIGNED, -> gender CHAR(1) NOT NULL -> ); 查看创建结果 mysql> show ta

mysql数据库的一些基本操作(1)

查看当前登陆的用户 mysql> select user(); 重置数据库管理员密码 SET  PASSWORD  FOR "root"@'localhost'=PASSWORD('123456'); mysql> set password for [email protected]=password('123456');重置用户密码 查看当前所在库 mysql> select database(); | database() | | NULL       | 查看所

MySQL数据库的定时自动备份

昨天做了MySQL数据库的备份基本操作的实验,今天试一下MySQL数据库的定时自动备份. 大概思路就是,首先为备份文件单独创建一个目录,然后再目录下创建Shell脚本里写上执行数据库备份的命令,并且给这个Shell脚本添加可执行的权限,最后给这个Shell脚本添加到crond计划任务,让它每天定时执行. 1.首先进入home目录,创建一个mysqlBackup的目录,然后进入这个目录 2.创建一个.sh后缀的文件, 3.编辑Shell脚本,备份所有数据库到/home/mysqlBackup目录下

mysql数据库 (二) mysql数据库的基本操作

上一次安装好mysql数据库以后并没有登录操作,这次来简单介绍下mysql的基本操作 一.访问mysql数据库(经过安装后的初始化过程,mysql数据库的默认管理员用户名为:"root",密码为空:注意此root并非是linux系统管理员的root账号) 1.登录mysql 未设置密码时,mysql后加"-u"指定用户就可以了 如果root设置了密码,还需要在用户名后面加"-p"选项指定密码 2.执行mysql操作语句 注意:每一条mysql语句

Linux下MYSQL数据库的基本操作

建立数据库: mysql> create database test; //建立一个名为"test"的数据库 建立数据库表: mysql> create table test -> (name char(16) not null, -> passwd char(16) ->); //建立一个名为"test"的表,里面有两个字段,一个字段名为"name",类型为char,大小为16,非空:另一个字段名为"pa