1. mysql

  • 基本操作
  • 重置密码

1.1.1. 基本操作

操作 语句
登录 mysql -u root -p
退出 exit or quit
查询数据库 show databases;
创建数据库 create database test character set utf8 collate utf8_general_ci;
删除数据库 drop database test;
连接数据库 use test;
创建数据表 CREATE TABLE IF NOT EXISTS USER();
查看数据表 show tables;
删除数据表 truncate table user;
查看表字段 desc user;
修改表名称 RENAME TABLE USER TO USERS;
修改表字段 ALTER TABLE USER MODIFY COLUMN name VARCHAR(20);
插入记录 INSERT INTO USER (name, score) VALUES ('Tommy', 80);
查看记录 SELECT * FROM USER WHERE name = 'Tommy';
修改记录 UPDATE USER SET score = 100 WHERE name = 'Tommy';
删除记录 DELETE FROM USER WHERE name = 'Tommy';
条件查询 SELECT name, score FROM USER WHERE score > 60 ORDER BY score DESC;
按组查询 SELECT name, AVG(score) FROM USER GROUP BY name;
连表查询 SELECT a.name, a.score, b.position FROM USER a LEFT JOIN POSITION b ON a.name=b.name;
1. 创建数据库:create database test character set utf8 collate utf8_general_ci;

create database test:代表的是创建数据库 test。

character set utf8:代表的是将该库的默认编码格式设置为utf8格式。

collate utf8_general_ci:代表的是数据库校对规则。

  • utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写。

  • utf8_general_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感。

  • utf8_general_cs区分大小写,cs为case sensitive的缩写,即大小写敏感。

2. 创建表格:CREATE TABLE IF NOT EXISTS USER(id INT UNSIGNED AUTO_INCREMENT, name VARCHAR(100) NOT NULL, score INT UNSIGNED NOT NULL, PRIMARY KEY (id));

id INT UNSIGNED AUTO_INCREMENT:字段 id 整型自增。

name VARCHAR(100) NOT NULL:字段 name 100长字符型。

score INT UNSIGNED NOT NULL:字段 score 整型不为空。

PRIMARY KEY (id):以 id 为 primary key。

3. 条件查询:SELECT name, score FROM USER WHERE name = 'Tommy' AND score > 60 ORDER BY score DESC;

SELECT name, score FROM USER:查询字段 name, score。

WHERE name = 'Tommy' AND score > 60:2个条件,名字为 Tommy,分数大于 60。

ORDER BY score DESC:排序, DESC 为降序,ASC 为升序。

4. 连表查询:SELECT a.name, a.score, b.position FROM USER a LEFT JOIN POSITION b ON a.name=b.name;

SELECT a.name, a.score, b.position:查询字段,a 和 b为别名。

FROM USER a:user 表对应别名 a。

LEFT JOIN POSITION b:position 表对应别名 b,LEFT JOIN 表示左关联,以 a 为主表,b 为副标。

ON a.name=b.name:关联条件为 name 相同。

5. 字段类型

1.INT[(M)] 型: 正常大小整数类型。

2.DOUBLE[(M,D)] [ZEROFILL] 型: 正常大小(双精密)浮点数字类型。

3.DATE 日期类型:支持的范围是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列。

4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长度。

5.BLOB TEXT类型,最大长度为65535(2^16-1)个字符。

6.VARCHAR型:变长字符串类型。

1.1.2. 重置密码

1. 偏好设置中找到MySQL,关闭MySQL
2. 跳过权限认证
// 进入数据库指令文件
cd /usr/local/mysql/bin
// 跳过权限认证
sudo ./mysqld_safe --skip-grant-tables
3. 免密码进入数据库, 在上述指令运行后,新开一个终端,同时保持原来那个终端也开着,在新的终端输入指令如下:
//  执行mysql指令
/usr/local/mysql/bin/mysql
// 进入名为<mysql>的数据库
use mysql
// 刷新权限
flush privileges;
// 修改密码 但不适用于8.0+的版本
set password for 'root'@'localhost' = password('新的密码');
// 8.0+版本修改密码
alter user 'root'@'localhost' identified by '新密码';

// 退出mysql
exit
Copyright © tomgou 2022 all right reserved,powered by Gitbook该文章修订时间: 2023-08-28 17:33:23

results matching ""

    No results matching ""