❄️作者介绍:奇妙的大歪❄️
个人名言:但行前路,不负韶华!
个人简介:云计算网络运维专业人员
目录
一.Mysql常用术语
二.Mysql之初命令
三.连接Mysql
3.1添加用户
3.2修改密码
3.3删除用户
四.语句格式
五.数据库之初操作
5.1创建数据库
5.2数据表相关
mysql 是一门关系型数据库, 不同于mongoDB 来说. mysql 需要给不同的表之间建立相互联系,以便确定完整性约束. 这里我们看看Mysql中常用的基本概念就差不多了.
在MAC 上下载mysql 很简单. 直接使用homebrew 即可. 他会帮你把mysql的所有其他东西都完全的安装好. 然后, 就是简单的开关操作.
OK, 这样就已经满足前期你对mysql的基本要求 如果你想,将你的mysql上锁, 即, 添加登录密码的话, 就可以使用:
mysqladmin -u root password "new_password";
如果你想设置为开启自启的话,可以使用:
// MAC
ln -sfv /usr/local/opt/mysql/*.plist ~/Library/LaunchAgents
其他的自行google把.
上述已经提到了, 使用mysql即可连接到数据库. 当你使用mysql进行连接的时候, 这并不是完整意义上的连接, 因为当多人协作的时候,往往一个数据库, 会有很多users进行连接, 而这mysql只是数据库给的一个匿名用户, 如果是单机版的Mysql这样使用当然是最方便的。 另外, 你还可以使用
mysql -h host -u user -p
// 接着输入你的密码
这里就是比较高级的。 在指定的hostname上使用指定的user进行连接. 有童鞋可能会问了, host和user到底是什么呢? e… 你可以输入echo $HOST和echo $USER来查看. 当然, 这种方式是最高级的, 也最有可能会遇到这样的problem
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
这句话的意思就是, 亲, 你的mysql还没运行呢~
接着, 我们来看一下稍微简单的调用.你的HOST实际是可以忽略的, 如果你不是远程登录的话. 接着就可以使用一下的命令:
mysql -u user -p
其实俺最常用的就是mysql 方便干脆, 不过有时候需要user的时候,还会使用一下mysql -u user -p这样的参数. 如果你想查看你Mysql中,有多少USER的话, 就可以使用, SELECT USER();进行查看.
如果你在电脑里面有其他的用户需要添加时, 这就需要你进行手动添加用户.
在Mysql中添加用户,其实也非常简单, 只需要使用CREATE USER 和 GRANT就可以了。 我们这里创建一个普通用户-jimmy. 然后赋予它一下简单的权限
CREATE USER 'jimmy'@'localhost' IDENTIFIED BY 'your_password';
// 创建一个jimmy的用户, 并且, 他的密码为,your_password
> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON *.*
-> TO 'jimmy'@'localhost';
// 赋予jimmy 一些基本的权限, 让他去访问某些执行的数据库, 上文中的`*.*`(注意这不是颜文字, 这表示所有的数据库) 就可以写为你允许该用户访问的数据库的name, 比如, 你可以改为`bank`,`tencent`... 等等
这样, 你就可以使用mysql -u xxx -p 进行指定用户的登录了. 如果,你想创建一个管理员账户的话, 代码就更简单了。
CREATE USER 'admin'@'localhost' IDENTIFIED BY 'your_ps';
// 创建一个管理员账户
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
// ok
如果你想检查, 你创建的用户的权限对不对时, 可以使用.
SHOW GRANTS FOR 'admin'@'localhost';
进行查看. 接下来, 假设出现很多bugs. md… 密码写错了,怎么办? 用户创建错了,怎么办? 这些,mysql 都已经提供了一些相关的办法.
这里有很多种方法, 简单介绍两种. 一种是使用SET,一种是使用ALERT(v5.7.6).
SET 修改密码应该算是比较常用的. 使用SET直接修改密码即可. 格式为:
SET PASSWORD FOR 'jimmy'@'localhost' = PASSWORD('your_ps');
上面那种方法,适用于root的用户进行修改, 如果你想修改自己的密码的话,就更简单了. 直接使用.
SET PASSWORD = PASSWORD('your_ps');
来看一下ALERT的相关语法吧.
ALERT USER 'jimmy'@'localhost' IDENTIFIED BY 'your_ps';
如果你不想输,'jimmy'@'localhost 这一串的话, 可以直接使用USER()进行代替.
ALERT USER USER() IDENTIFIED BY 'your_ps';
另外, 如果你只想在shell 中直接修改的话,可以直接使用
mysqladmin -u user_name -h host_name password "new_password"
直接修改即可.
如果你连用户都创建错了。 那该怎么办呢? 删呗.
在删之前,你可以看看,mysql中,有多少其他的用户. 一般,mysql创建新用户后, 都会把用户信息放到mysql.user中去.我们来检查一下吧.
`SELECT User FROM mysql.user
选择你想要删除的用户名.直接drop就行了.
DROP USER 'jimmy'@'localhost';
在sql中, 每条语句都是以;(semicolon)结尾。这里简单演示一下, 如果你想查看mysql的版本号, 或者日期时间的话,可以使用.
SELECT VERSION(),CURRENT_DATE;
// 返回数据
+-----------+--------------+
| version() | current_date |
+-----------+--------------+
| 5.7.11 | 2016-07-02 |
+-----------+--------------+
1 row in set (0.00 sec)
另外, 在mysql中, 大小写是不区分的. 如果你更熟悉小写的话,就可以使用。
select version(),current_date;
这完全没有太大的影响。 另外,sql语句可以在一行中书写, 例如:
select version(); select now(); select current_date;
这3条语句都会执行一次。 由于,mysql是根据semicolon来决定语句的结束, 所以, 你书写语句的方式, 可以这样写.
> select
-> ,
-> current_date;
如果你换行之后发现自己打错了, 那该怎么办呢? 简单,输入/c即可.
进入数据库后, 第一件事, 应该看看, 这里面有哪些已经创建好的用户.
show databases;
// 你有可能会发现有如下的信息;
+----------+
| Database |
+----------+
| mysql |
| test |
| tmp |
+----------+
然后, 你可以选择其一并进行相关操作.
USE test
当你已经进入数据库, 但突然忘记了,自己是哪个用户,哪个数据库. so how to do? 上面已经介绍了,查找用户, 可以直接使用SELECT USER(); 那查找数据库同理就应该为.
SELECT DATABASE();
如果, 你没有相关的db的话, 那就需要你手动进行创建了.
使用方法很简单:
CREATE DATABASE db_name;
// 这里的db_name 是大小写敏感的,需要注意一下.
之后, 你就需要手动进行选择你需要的数据库. 还是上面那个命令. USE db_name; 当然, 如果你嫌登录之后再USE 有点麻烦, 你可以直接使用.
mysql -u user -p db_name
进行相关登录. ok, 之后,就是数据表里的事了.
Table和Database的初阶段准备其实没太大的差别。 同样就是, 创建,进入,over. 你可以先检查一下,你的数据库中有没有已经建好的表.
SHOW TABLES;
如果没有的话, 你可以随便建一个表. 比如, 你现在创建一个person的表, 里面的字段有name,birth.
CREATE TABLE person(name VARCHAR(20),birth DATE);
这样你就成功的创建了一个表,接着, 你可以看看关于你的表的相关描述.
DESCRIBE person
看都看到这里啦留个三连再走吧!!你们的支持就是我的动力!!!