安装
换了电脑,又需要重新在Mac上安装MySQL,在油管上看了How To Install MySQL on Mac OS X
后,安装成功,就记录下安装过程。其实原来我一直用的是XAMPP来启动mysql服务的,不过这次使用XAMPP来安装mysql貌似有点问题,使用Navicat来连接mysql,也一直没成功
1.在官网下载MySql,地址https://www.mysql.com/downloads/,选择的是社区版本
2.下载后安装,一直点就可以了。安装好后,在系统偏好设置中会出现MySQL的图标,进入后就可以启动MySQL了
安装好后,会弹出提示,给出密码,记得保存
3.在终端中连接MySQL
在终端中,当前用户下/Users/xxxx
,输入命令ls -al
,查看是否存在.bash_profile
文件,如果不存在就创建一个,命令如下:
touch .bash_profile
打开文件open -t .bash_profile
在.bash_profile
中添加如下的内容:
export PATH=${PATH}:/usr/local/mysql/bin/
此时使用mysql -u root -p
命令,会提示-bash: mysql: command not found
。可以新打开一个终端窗口,输入mysql -u root -p
命令,则不会有上面的提示,会要你输入密码,就是刚才保存的那个。如果输入正确,则会有如下的内容:
使用mysql命令,show databases;
显示数据库,会提示:
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
提示你要修改密码才可以,输入如下的命令来修改密码:
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
修改密码之后,show databases;
显示数据库,如下:
4.MySQL Workbench连接
我这里使用的是Navicat,其实都一样,如下,输入密码
最开始参考极客学院的安装视频,下载的是mysql-5.7.10-osx10.10-x86_64.tar.gz压缩包
在终端使用cp mysql-5.7.10-osx10.10-x86_64.tar.gz /usr/local
命令时,可能会出现“Permission denied”的提示,解决办法,请参考Run script on mac prompt “Permission denied”
…但到最后没安装成功
在Youtube上看了下视频,就直接下载.dmg文件,安装好了,在“系统偏好设置”中,出现了MySQL的图标,还弹了框,给了初始密码。
在终端中,输入./mysql -u root -h localhost -p
,输入密码,再输入show databases;
,提示ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
参考
说是要重设密码,参考Reset MySQL root password using ALTER USER statement after install on Mac。
执行SET PASSWORD = PASSWORD('your_new_password');
设置新的密码。
再执行 show databases;
,会显示如下的效果:
quit;
退出MySQL
SQL语言
SQL语言的基本结构
SELECT user_name, age
FROM tbl_user
WHERE age > 18
数据定义
- CREATE TABLE 用于创建一个数据库表
- DROP TABLE 从数据库中删除指定的表
- ALTER TABLE 用于修改指定表的表结构
- CREATE INDEX 用于创建一个索引
- DROP INDEX 用于删除一个索引
- CREATE PROCEDURE 用于创建一个存储过程
- DROP PROCEDURE 用户删除一个存储过程
数据操作
- SELECT 用于从数据库表中检索数据行
- INSERT 用于向数据库表中添加数据行
- UPDATE 用于更新指定的数据
- DELETE 用于从数据库表中删除指定的行
权限控制
- GRANT 用于授予用户访问权限
- REVOKE 用于解除用户访问权限
事物控制
- COMMIT 用于提交事物
- ROLLBACK 用户回滚事物
数据类型
整数
- TINYINT 1个字节
- SMALLINT 2个字节
- MEDIUMINT 3个字节
- INT 4个字节
- BIGINT 8个字节
实数
- FLOAT 支持使用标准的浮点计算 也就是不精确类型 4个字节
- DOUBLE 支持使用标准的浮点计算 也就是不精确类型 8个字节
- DECIMAL 用于存储精确的小数
DECIMAL(20, 2)表示小数点前存储18个数字,小数点后存储2个数字
字符处
- VARCHAR 用户保存可变长度的字符串
- CHAR 固定长度的字符串
- TEXT
- TINYTEXT
- TEXT
- MEDIUMTEXT
- LONGTEXT
- BLOB 二进制字符串
- TINYBLOB
- BLOB
- MEDIUMBLOB
- LONGBLOB
日期
- DATETIME 能保存大范围的值,从1011年到9999年,精度为秒,使用8个字节来存储
- TIMESTAMP 时间戳类型,保存了1970年1月1日午夜,所经历的秒数,使用4个字节,表示范围从1970年到2038年
数据类型的选择原则
- 最小原则
- 简单原则
- 避免索引列上的NULL