搭建mysql数据库,及mysql常用高频命令
一、环境搭建
本文只在windows环境下搭建学习。
-
下载mysql
因install(安装版)包直接运行安装即可,所以本章仅解释解压包安装。
下载网址:https://dev.mysql.com/downloads/mysql/下载mysql-8.0.15-winx64.zip
-
配置环境变量
在path中放入解压的bin目录如(f:\ mysql-8.0.15-winx64\bin) -
配置mysql
在f:\ mysql-8.0.15-winx64\中,新建my.ini
内容如下:
[client]
port=3306
default-character-set=utf8
[mysqld]
port=3306
character_set_server=utf8
#解压目录
basedir=f:\ mysql-8.0.15-winx64\
#解压目录下data目录
datadir=f:\ mysql-8.0.15-winx64\dat
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
- windows命令行运行mysql安装等
cd f:\ mysql-8.0.15-winx64\bin # 进入目录
> mysqld -initialize # 初始化mysql,生成data文件夹中文件
> mysqld -install # 安装mysql
> net start mysql # 启动mysql服务器
# 进入mysql
> mysql -uroot -p
password:直接回车即可进入
二、数据命令
(!!!:意思是高危操作)
2.1 数据库操作
CREATE DATABASE dbname; # 创建数据库
DROP dbname; # 删除数据库!!!
USE dbname; # 使用数据库
2.2 数据表操作
CREATE TABLE tbname (column_name column_type); # 创建数据表
DROP TABLE tbname; # 删除数据表!!!
2.3 视图操作
# 建立一个myview视图,合并显示两表相对应的信息
CREATE.VIEW myview AS
SELECT
a.name AS name
b.class AS class
FROM
studemt a # student表指定为a
class b # class表指定为b
where
a.id = b.id # 当a、b表的.id相等时
2.4 数据操作(增删改查)
# 增
INSERT [ignore] INTO tbname field1.. VALUES value1.. # 在tbname表的field1属性增加value1值
# 删
DELETE FROM tbname WHERE # 从tbname表中删除符合WHERE的值
DELETE FROM tbname # 删除tbname表中所有数据!!!
# 改
UPDATE tbname SET field1..=value1.. WHERE # tbname表中符合WHERE的时候,把field1属性的值修改为value1
# 查
SELECT * FROM tbname [ order by ASC,DESC ] # 按[正序,倒序]排序显示tbname表
三、数据库操作
3.1 创建用户
# 创建用户和密码
username: 用户名
host:主机地址('localhost':本台机器,'%':所有机器)
password: 用户密码
CREATE USER ‘username‘@’host’ IDENTIFIED BY 'password';
# 给新建的该用户设置权限
# all:所有权限
databasesname:数据库的名字('*':该用户下所有数据库)
tablename:数据库某个表的名字('*':该数据库下所有表)
‘username’@’%’:指这个用户(’username’)可通过任何ip(’%’)访问数据库
GRANT all ON databasesname.tablename TO ‘username’@’%’;
# 刷新权限
FLUSH PRIVILEGES;
3.2 不同主机迁移数据库
# 主机1导出整个数据库
name:导出的文件名
MYSQLDUMP -U username -P password databasesname > name;
(# 或 导出数据库指定表
# tablesname1\2:表名1\2
MYSQLDUMP -U username -P password databasesname tablesname1 tablesname2 > name;)
# 主机2导入整个数据库(或指定表)
# 先创建与主机1同名数据库(指定表:根据自己的表结构创建同名数据表)
create database databasesname;
# 进入该数据库导入数据(指定表):
use databasesname;
source name;