出現mysqld: Can't create directory 'D:\Environment\mysql-5.7.37 \data' (Errcode: 2 - No such file or directory)極大原因是my.ini的配置有問題 my.ini配置 [mysqld] based ...
出現mysqld: Can't create directory 'D:\Environment\mysql-5.7.37 \data' (Errcode: 2 - No such file or directory)極大原因是my.ini的配置有問題
my.ini配置
[mysqld]
basedir=D:\Environment\mysql-5.7.37\ --MySQL下載地址
datadir=D:\Environment\mysql-5.7.37\data\ --mysql文件位置不用新建
port=3306
skip-grant-tables
net start mysql--連接資料庫
mysql –u root –p --修改密碼
update mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost'; --更新賬號密碼
flush privileges; --刷新許可權
net stop mysql --斷開資料庫
mysql –u root –p123456 --輸入密碼
1、MySQL使用步驟
- 啟動管理員模式,運行命令
- 安裝mysql服務
- 初始化資料庫文件
- 啟動mysql,進入修改密碼
- 進入mysql通過命令行(-p後不加空格),修改密碼(sql語句後面要加;分號)
- 註釋ini中跳過密碼的語句
- 重啟mysql
sc delete mysql --清空服務;一般不使用
SQLyog基礎設置
-
查看表
-
自行添加記錄
1.7連接資料庫
mysql -uroot -p123456 --連接資料庫
updata mysql.user set authentication_string=password('123456') where user='root' and Host = 'localhost'; --修改密碼
flush privileges; --刷新許可權
-------------------------------------
--所有語句都是用;結尾
show databases;--查看所有資料庫
mysql>use school--切換資料庫user是資料庫名稱
Database changed
show tables;--查看資料庫中所有的表
describe student;--顯示資料庫中的所有信息
create database westos;--創建一個資料庫
exit;--退出連接
--單行註釋(sql本來的註釋)
/*
xs
ssssssssss
*/
資料庫xxx語言 CRUD增刪改查 CV程式員 API CRUD(業務)
DDL 定義
DML 操作
DQL 查詢
DCL 控制
2、操作資料庫
操作資料庫->操作資料庫中的表->操作資料庫中表的數據
MySQL關鍵字不區分大小寫
2.1操作資料庫
-
創建資料庫 []表示可寫可不寫
CREATE DATABASE [IF NOT EXISTS] westos
-
刪除資料庫
DROP DATABASE [IF EXISTS] westos
-
使用資料庫
--tab鍵上面,如果你的表名或欄位名是個特殊欄位就要帶 USE `school`
-
查看資料庫
SHOW DATABASES --查看所有的資料庫
對比:SQLyog的可視化操作
學習思路:
- 對照sqlyog可視化歷史記錄查看sql
- 固定關鍵字要強行記住:create drop show
2.2、資料庫的數據類型
數值
-
tinyint 十分小 的整數 1位元組
-
smallint 較小的整數 2 位元組
-
mediumint 中等大小的整數 3位元組
-
int 標準類型的整數 4位元組 常用的
-
bigint 較大整數 8位元組
-
float 浮點數 4位元組
-
double 浮點數 8位元組(精度問題)
-
decimal 字元串形式浮點 金融計算decimal
字元串
- char 字元串固定大小 0-255
- varchar 可變字元串 0-6535 string
- tinytext 微型文本 2^8-1
- text 文本串 2^16-1 保存較大文本
時間日期
java.util.Date
- date YYY-MM-DD 日期格式
- time HH:mm:ss 時間格式
- datetime YYY-MM-DD HH:mm:ss 最常用的時間格式
- timestamp 時間戳,1970.1.1到現在的毫秒,也較為常用
- year 年份的表示
null
- 沒有值,未知
- 註意:主要使用NULL進行運算,結果為NULL
2.3、資料庫的欄位屬性(重點)
Unsigned
- 無符號的整數
- 聲明該列不能為負數
zerofill
- 0填充的
- 不足的位數使用0填充
自增
- 通常為自增,自動在上一條記錄+1(預設)
- 通常用來設計唯一的主鍵~ index,必須是整數類型
- 可以自定義設計自增的起始值和步長
非空 NULL not null
- 假設設置為not null,如果不賦值會報錯
- NULL,不填寫,預設是null
預設
- 如果不設置,為預設值
- sex預設值為男,如果不指定,則會有預設值
拓展: 每個表都必須存在一下五個欄位,表示一個記錄存在的意義
id --主鍵
`version` --樂觀鎖
is_delete --偽刪除
gmt_create --創建時間
gmt_update --修改時間
2.4、創建資料庫(重點)
--創建school資料庫
--創建學生表
--學號int 密碼varchar(20) 姓名,性別varchar(2)出生日期(datatime),家庭住址,email
--註意點,使用英文(),表的名稱和欄位儘量用``括起來
--AUTO_INCREMENT自增
--字元使用用 ''單引號括起來
--所有語句後面都加,英文的,最後一個語句不用加
--PRIMARY KEY 主鍵,一個表一般只有唯一主鍵!
CREATE TABLE IF NOT EXISTS `students` (
`id` INT(4) NOT NULL AUTO_INCREMENT COMMENT '學號',
`name` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`pwd` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密碼',
`sex` VARCHAR(2) NOT NULL DEFAULT '女' COMMENT '性別',
`birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
`address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
`email` VARCHAR(50) DEFAULT NULL COMMENT '郵箱',
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8
CREATE TABLE [IF NOT EXISTS] `表名`(
'欄位名' 列類型 [屬性] [索引] [註釋],
'欄位名' 列類型 [屬性] [索引] [註釋],
.....
'欄位名' 列類型 [屬性] [索引] [註釋]
)[表類型][字元集設置][註釋]