一、认识数据库系统:
MySQL数据库系统也是一个典型的C/S(客户端/服务器)架构的应用,要访问MySQL数据库需要使用专门的客户端软件。在Linux系统中,最简单、易用的MySQL客户端软件是其自带的mysql命令工具。
1.登录到MySQL服务器
经过安装后的初始化过程,MySQL 数据库的默认管理员用户名为 root,密码为空。若要以未设置密码的root用户登录本机的MySQL数据库.可以执行以下操作。
[root@xiao ~]# mysql -u root
在有密码的情况下.还应使用“一p”选项来进行密码校验。
[root@xiao ~]# mysql -u root -p
执行“STATUS,”语句可以查看当前数据库服务的基本信息。
mysql> status;
在“mysql>”操作环境中,执行“EXIT”或“QUIT”命令可以退出mysql 命令工具.返回原来的Shell环境。
二、使用MySQL数据库:
2.1 查看数据库结构:
MySQL是--套数据库管理系统,在每台MySQL服务器中,均支持运行多个库.每个库相当于-个容器,其中存放着许多表,这些信息称为数据记录。
查看当前服务器中有哪些库
mysql> show databases;
查看当前使用的库中有哪些表
mysql> use mysql; ##进入库##
Database changed
mysql> show tables; ##查看表##
MySQL数据库的数据文件存放在/usr / local/mysql /data目录下,每个数据库对应一-个子目录.用于存储数据表文件。每个数据表对应为三个文件.扩展名分别为“. frm". ".myd”和".rmyi".
查看表的结构
DESCRIBE语句:用于显示表的结构.即组成表的各字段(列)的信息。需要指定“库名.表名”作为参数,若只指定表名参数.则需先通过USE语句切换到目标库。例如.执行以下操作可以查看mysql库中的user 表的结构.与直接执行“DESCRIBE mysql , user;”语句的效果相同。
mysql> describe user;
三、创建及删除库和表:
1.创建新的库
CREATE DATABASE 语句:用于创建一个新的库.需指定数据库名称作为参数。
mysql> create database bdqn;
2.创建新的表
CREATE TABLE语句:用于在当前库中创建新的表.需指定数据表名称作为参数,并定义该表格所使用的各字段。
mysql> create table stuinfo (姓名 nvarchar(20) not null,性别 nvarchar(1) not null,年龄 int not null,联系电话 varchar(11) not null,Emall地址 nvarchar(30) not null);
3.删除一个数据表
DROP TABLE语句:用于删除库中的表.需要指定“库名.表名”作为参数;若只指定表名参数,则需先通过执行“USE”语句切换到目标库。
mysql> DROP TABLE auth.users ; ##删除auth 库中的users表##
4.删除一个数据库
DROP DATABASE 语句:用于删除指定的库.需要指定库名作为参数。例如,执行以下操作可以删除名为auth的库。
mysql> DROP DATABASE auth ;
四、管理表中的数据记录:
1.插入数据记录
NSERT NTO语句:用于向表中插入新的数据记录。
mysql> insert into stuinfo (姓名,性别,年龄,联系电话,Emall地址) values ('张无忌','男',19,17512345678,'wuiji.zhang');
2.查询数据记录
SELECT 语句:用于从指定的表中查找符合条件的数据记录。MySQL数据库支持标准的SQL查询语句,语句格式如下所示。
mysql> select * from stuinfo;
3.修改数据记录
UPDATE语句:用于修改.更新表中的数据记录.
UPDATE 表名 SET 字段名1=字段值1[,字段名2=字段值2] WHERE 条件表达式
mysql> update mysql .user set password=password('123457') where usre='root'
4.删除数据记录
DELETE语句:用于删除表中指定的数据记录。
DElETE FROM 表名 WHERE 条件表达式
mysql> select user,host,password from mysql.user where user='';
五、数据库用户权限分配:
1、授予权限
GRANT语句:专门用来设置数据库用户的访问权限。当指定的用户名不存在时,GRANT语句将会创建新的用户,否则,GRANT语句用于修改用户信息。语句格式如下所示。
GRANT 权限列表 ON 库名.表名 to 用户名@来源地址〔iDENTiFTED BY‘密码’]
权限列表:用于列出授权使用的各种数据库操作,以逗号进行分隔,如"select , insert , update”。使用“all”表示所有权限,可授权执行任何操作。
库名.表名:用于指定授权操作的库和表的名称.其中可以使用通配符“*”。例如,使用“auth ,*”表示授权操作的对象为auth库中的所有表。
用户名@来源地址:用于指定用户名称和允许访问的客户机地址,即谁能连接.能从哪里连接。来源地址可以是域名.P地址,还可以使用“%”通配符.表示某个区域或网段内的所有地址,如“%.bdqn , com”“192,168.1 .%”等。
IDENTIFIED BY:用于设置用户连接数据库时所使用的密码字符串。在新建用户时,若省略“IDENTIFIED BY”部分,则用户的密码将为空。
2.查看权限
SHOW GRANTS语句:专门用来查看数据库用户的授权信息.通过FOR子句可指定查看的用户
SHOw GRANTS FOR用户名@来源地址
3.撤销权限
REVOKE语句:用于撤销指定用户的数据库权限,撤销权限后的用户仍然可以连接到MySQL服务器,但将被禁止执行对应的数据库操作。语句格式如下所示。
REVOKE 权限列表 ON 数据库名.表名 FROM 用户名@来源地址
六、实验:(MySQL服务器的构建与维护)
实验需求:
为MySOL 数据库的root用户设置密码.朋除用户名.密码为空的用户记录。
mysql> update mysql .user set password=password('123457') where usre='root'
mysql> select user,host,password from mysql.user where user='';
新建名为“bdqn”的库.授权用户rundb 从本机访问.具有所有操作权限。
mysql> grant all on aut.* to 'rundd'@'localhost' identified by '123456';
##创建用户rundd##
mysql> create database bdqn;
以rundb用户登录,在bdqn库中创建stuinfo表,并录入数据,如表3-2所示。
mysql> insert into stuinfo (姓名,性别,年龄,联系电话,Emall地址) values ('张无忌','男',19,17512345678,'wuiji.zhang');
mysql> insert into stuinfo (姓名,性别,年龄,联系电话,Emall地址) values ('白居易','男',24,17587654321,'jujyi.bai@tangchao.org');
mysql> insert into stuinfo (姓名,性别,年龄,联系电话,Emall地址) values ('蓝采和','女',21,59420131466,'caiihe.lan@haoxihuannia.org');