点击安装就 OK
安装完毕的弹出提示要切记,把密码记下,登录时需要密码
2016-11-06T03:27:25.257692Z 1 [Note] A temporary password is generated for root@localhost: U0:E5evpyZ&N
初始密码 为 U0:E5evpyZ&N
change password但是每次登录比较费事,生成的密码太繁琐,也不可能每次都输入一大串。所以需要修改密码,方便登录登录
首先把秘密清除,永远不输入密码,然后会提示设置密码,这样再设置自己的密码
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your-new-password');
再安装过程中,有忘记记录密码的,可以卸载重新安装,很快的,但是要切记记下密码区,其中有的没有被创建,忽略
sudo rm /usr/local/mysql
sudo rm -rf /usr/local/mysql*
sudo rm -rf /Library/StartupItems/MySQLCOM
sudo rm -rf /Library/PreferencePanes/My*
sudo rm -rf /Library/Receipts/mysql*
sudo rm -rf /Library/Receipts/MySQL*
sudo rm -rf /var/db/receipts/com.mysql.*
配置 terminal 启动 MySQL on MAC
// For MySQL
alias mysql-start="sudo /usr/local/mysql/support-files/mysql.server start"
alias mysql-stop="sudo /usr/local/mysql/support-files/mysql.server stop"
alias mysql-restart="sudo /usr/local/mysql/support-files/mysql.server restart"
alias mysql-login="mysql -u root -p"
//export MySQL
export PATH="$PATH:/usr/local/mysql/bin"
登陆 和 退出
-D, --database=name // 指定数据库名字
--delimiter=name //指定分割符
-u , --user=name // 指定用户名
-p , --password
./mysql -u root -p
MySQL 语法规范
数据库操作
- 关键字与函数名称全部大写
- 数据库名称 、 表名称 、字段名称全部小写
- SQL 语句必须以分号结尾
sql 语句结束要以 ; 符号结尾,不然会出现 -> 。 不区分大小写
查看创建了多少数据库
show Databases;
创建数据库
CREATE DATABASE [name]
create database 数据库名 character set gbk
// character set gbk 设定数据库字符编码格式为 gbk
修改数据库
ALTER DATABASE [name]
删除数据库
DROP DATABASE [name]
查看表是如何创建的
show create table 表名 \G
// 例如
show create table students\G
查看当前打开的数据表
select database();
修改数据库编码格式
ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
数据表操作
选择所要操作的数据库
选择使用数据库有两种方法
// login
// /bin/
./mysql -u root -p
// 登录前
mysql -D 数据库名 -u root -p
// 登录后
use 数据库名
创建表
CREATE TABLE student (
uid INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(255) NOT NULL UNIQUE,
mobile VARCHAR(255) UNIQUE KEY,
password VARCHAR(255) NOT NULL,
appId INT DEFAULT 1,
loginAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
expiresAt TIMESTAMP,
isLocked BOOLEAN DEFAULT FALSE
);
- int 指定该列的数据类型为 int 取值范围为 -8388608到8388607
- unsigned 无符号型
- AUTO_INCREMENT 自动增长 ,必须于主键混合使用
- PRIMATY KEY ,每张表只能有一个主键,自动为 NOT NULL,保证唯一性
- NOT NULL 不为空
- UNIQUE KEY 唯一约束,一张表中只能有一个
- DEFAULT 允许传入为空,但是会提供一个默认数据,
对已经创建好的表,对字段添加约束
ALTER TABLE student ADD unique(`username`);
查看数据表字段
SHOW COLUMNS FROM [table-name]
插入数据
insert into 表名 (列名1, 列名2, 列名3, ...) values (值1, 值2, 值3, ...);
// 如果列名称省略则需要全部填写
删除表中的数
delete from 表名称 where 删除条件;
查看当前数据库有多少表
show tables;
更新表中的数据
update 表名称 set 列名称1=新值 , 列名称2=新值 where 更新条件;
查询表中的数据
select 列名称 from 表名称 查询条件;
查询表中的数据并按照条件排序
// 升序
select 列名称 from 表名称 order by 字段 asc;
// 降序
select 列名称 from 表名称 order by 字段 desc;
删除表
drop table 表名称;
给已经创建的表添加字段
ALTER TABLE "表名称" add "字段名称" "修饰"
修改字段
ALTER TABLE 表名称 change 字段名称 字段名称 字段类型 [是否允许非空];
ALTER TABLE 表名称 modify 字段名称 字段类型 [是否允许非空];
删除字段
ALTER TABLE mytable DROP 字段名
约束
外健约束的要求
- 父表和子表必须使用相同存储引擎
- 数据表的存储引擎只能是 InnoDB
- 外键列和参照列必须具有相似的数据类型