配置項目
在mysql-8.0.xx文件夾下,建立一個my.ini的配置文件
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[mysqld]
# 設置3306端口
port = 3306
# 設置mysql的安裝目錄
basedir=C:\\web\\mysql-8.0.xx
# 設置 mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄扼仲,MySQL 8+ 不需要以下配置俊扳,系統(tǒng)自己生成即可途蒋,否則有可能報錯
# datadir=C:\\web\\sqldata
# 允許最大連接數(shù)
max_connections=20
# 服務端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
# 創(chuàng)建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
-以管理員身份打開 cmd 命令行工具,切換mysql程序所在的目錄:
cd C:\web\mysql-8.0.xx\bin
-初始化數(shù)據(jù)庫
mysqld --initialize --console
-安裝
mysqld install
-啟動
net start mysql
-關閉
net stop mysql
mysql數(shù)據(jù)庫命令
1.進入到數(shù)據(jù)庫
先cd 到本地數(shù)據(jù)庫的安裝文件目錄下拣度,c:..\mysql-8.0.xx\bin
進入管理員權限的命令提示符工具(cmd)碎绎,輸入命令
// 這種方法不推薦螃壤,因為密碼會明文顯示
mysql -uroot -p123456
//推薦這種方法
mysql -uroot -p
//此時系統(tǒng)會提示輸入密碼
password:
//輸入密碼按回車即能進入
root是用戶名抗果,123456是自己設置的密碼,沒有密碼的話該處留空
2.查看當前有多少已有的數(shù)據(jù)庫
show databases;
3.新建一個數(shù)據(jù)庫
create database 數(shù)據(jù)庫名;
// 設置utf8奸晴,支持中文
create database 數(shù)據(jù)庫名 character set utf8;
yourDatabaseName就是你要新建的數(shù)據(jù)庫名
4.選中一個數(shù)據(jù)庫
use yourDatabaseName
5.查詢數(shù)據(jù)庫中的表數(shù)據(jù)
select * from tableName;
6.退出mysql
exit;
7.查看當前數(shù)據(jù)庫中所有的數(shù)據(jù)表
show tables;
8.創(chuàng)建數(shù)據(jù)表
CREATE TABLE pet(
-> name VARCHAR(20),
-> owner VARCHAR(20),
-> species VARCHAR(20),
-> sex CHAR(1),
-> birth DATE,
-> death DATE);
9.查看表詳情
describe pet
10.往數(shù)據(jù)表中添加記錄
INSERT INTO pet
VALUES ('Foo','bar','hanrh','f','1999-02-23',NULL);
11.刪除數(shù)據(jù)表中的數(shù)據(jù)
delete from pet where name = 'Foo'
12.修改數(shù)據(jù)表中的數(shù)據(jù)
update pet set name = 'newName' where owner='bar';
13.啟動mysql
net start mysql
14.更改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
15.更改密碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123';
16.刷新
FLUSH PRIVILEGES;
17.設置主鍵
為了確保唯一性冤馏,我們通常會給id設置主鍵。下面命令中的tableName是你的表名寄啼。
alter table tableName add primary key <id>;
18.創(chuàng)建帶自增逮光、主鍵的表(示例)
CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
實例解析:
-如果你不想字段為 NULL 可以設置字段的屬性為 NOT NULL, 在操作數(shù)據(jù)庫時如果輸入該字段的數(shù)據(jù)為NULL 墩划,就會報錯涕刚。
-AUTO_INCREMENT定義列為自增的屬性,一般用于主鍵乙帮,數(shù)值會自動加1杜漠。
-PRIMARY KEY關鍵字用于定義列為主鍵。 您可以使用多列來定義主鍵察净,列間以逗號分隔驾茴。
-ENGINE 設置存儲引擎,CHARSET 設置編碼氢卡。
19.添加一列
ALTER TABLE students ADD nums varchar(10);
20.刪除一列
ALTER TABLE students drop nums;
常見問題
1.報錯:1130-host ... is not allowed to connect to this MySql server
可能是你的帳號不允許從遠程登陸锈至,只能在localhost。這個時候只要在localhost的那臺電腦译秦,登入mysql后峡捡,更改 "mysql" 數(shù)據(jù)庫里的 "user" 表里的 "host" 項击碗,從"localhost"改稱"%"
mysql -u root -pvmwaremysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;