MySQL基本操作

前言

开始学习数据库了呢, 这篇文章就是作个备忘录 =V=
ps: 使用的系统是Ubuntu 14.04

安装

首先安装MySQL:

sudo apt-get install mysql-server

在安装过程中会要求输入root用户的密码.
然后安装图形界面workbench:

sudo apt-get install mysql-workbench

这样就大功告成啦, 不过在安装前最好先要执行

sudo apt-get update
sudo apt-get upgrade

用户管理

使用workbench可以很方便的进行用户管理, 这里主要写用命令行来进行用户管理.
首先使用命令行执行

mysql -uroot -*****

以root用户进入Mysql交互界面,其中-u后面的是用户名, -p后面的是相应的密码. 进入交互界面后, 查看一下当前有哪些用户. MySQL的用户信息存放在Mysql.user这个表中, 因此可以通过列出表中信息来查看有哪些用户. 但是直接使用 select * from mysql.usr 的话格式会很乱, 因此一番学习后使用了

select distinct concat('User: ''',user,'''@''',host,''';') as query from mysql.user;

这样就可以输出一个美观的表啦.

接下来我想要修改root用户的密码, 输入:

 set password for 'root'@'localhost'=password('123456');

就将root用户的密码修改成了123456.
如果要创建用户则可以使用create user 指令, 但是用这个指令无法设置用户的具体权限. 所以想要创建用户并分配权限, 可以使用grand命令. 其用法是:

grant 权限 on 应用范围(数据库表,方法等) to 用户(用@隔开,前面是用户名后面是主机名’用户名’@’主机名’) identified by 密码 require 要求什么的 with 对用户的进行的执行sql的条数控制。

例如我现在要创建一个test用户, 其权限是对MySQL数据库下user表有查找权限, 密码是111111. 那么我执行以下语句:

grant select on mysql.user to 'test'@'localhost' identified by '111111'; 

再次查看用户信息, 于是可以看到test用户已经创建好了. grant命令的具体用法可以通过help grant;命令来查询, 在后文再进行描述.

如果要查看刚才创建的用户的权限, 则可以通过输入命令

show grants for test@localhost; 

的方法来查看. 如果要删除这个用户, 则可以输入命令

 delete from mysql.user where user='test'; 

然后再刷新一下系统权限表即可

 flush privileges; 

帮助系统

http://dev.mysql.com/doc/ 在这个网站上有在线帮助系统(说明手册), 如果对哪些东西或哪条命令有不懂的就可以到这里来查找. 通过在命令行输入指令 mysql -V 即可知道自己的MySQL版本, 然后在这个网站上对应查找想要的内容即可.

MySQL Reference Manuals非常的全, 想要查什么东西都查得到. 但是有时候我只是想查找某个命令的用法, 大张旗鼓的上网去搜显得太慢又太麻烦了一些, 于是可以进入mysql交互界面通过help指令来快速查找自己想要查的东西. 如果不知道怎么查, 在mysql交互界面可以输入

 help contents 

命令来获取help的目录. 之后再输入help xx 即可查询xx所对应的具体条目了.


数据定义

首先执行以下命令来查看当前有哪些数据库:

show databases;

然后可以执行以下命令来创建一个名为test的数据库:

create database test;

再输入以下命令就可以进入这个数据库:

use test;

表的操作

接着就来做一些关于表的建立\删除\修改操作吧!
可以使用create table命令来创建表, 其命令格式为: create table <表名> (<字段名1> <类型1> [,..<字段名n> <类型n>]); 于是我建立一个命为testTable的表:

create table testTable(
     id int(4) primary key,
     name char(20) not null,
     sex char(4) default 'F',
     GPA numeric(4,2));

执行show tables;就可以查看是否成功创建了这个表, 在执行以下语句就可以查看表的字段名了:

desc testTable;

其中test为我的数据库名, testTable为表名.

检查正确后, 打算进行修改操作, 首先添加一项grade, 类型为int(2).

alter table testTable add grade int(2); 

然后将GPA这一项删除

alter table testTable drop GPA;

最后 将原来的sex修改为 gender, 并重新指定其类型为char(1).

 alter table testTable change sex gender char(1);

完成以上的三个操作后, 再次执行desc testTable; 来查看一下当前表中的字段是否如预期一样已经完成了修改. 最后把这个表给删除了:

drop table testTable;

索引的操作

接下来尝试进行索引的建立\删除. 所用的表依旧是一开始创建的那个testTable. 首先在name字段上建立一个索引, 执行

 create index i_00 on testTable(name);

其中i_00 即创建的索引名字, testTable即我要创建索引的表, name是所要创建索引的字段. 然后执行

 show index from testTable;

来查看testTable下的所有索引. 同时注意到, id也有了一个索引, 当然这个索引不是我手动添加的, 而是由于id是primary key.然后执行

  drop index i_00 on testTable; 

把刚才添加在name上的索引删除

视图的操作

在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。

视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。

注释:数据库的设计和结构不会受到视图中的函数、where 或 join 语句的影响。

建立视图的语法如下:

CREATE VIEW view_name AS
    SELECT column_name(s)
    FROM table_name
    WHERE condition

然后使用drop view XXXX; 就可以删除对应的视图了.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值