手记

MYSQL 基本使用 for Mac

install

点击安装就 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');

uninstall
再安装过程中,有忘记记录密码的,可以卸载重新安装,很快的,但是要切记记下密码区,其中有的没有被创建,忽略

 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
  • 外键列和参照列必须具有相似的数据类型
1人推荐
随时随地看视频
慕课网APP