Windows安装MySQL

 转自: https://www.cnblogs.com/by330326/p/5608290.html

 在mysql 文件夹下创建一个名为data的空文件夹。
创建一个my.ini的文件,放在bin目录里面。内容为:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8 
[mysqld]
#设置3306端口
port = 3306 
# 设置mysql的安装目录
basedir=E:/mysql-5.7.12-winx64
# 设置mysql数据库的数据的存放目录
datadir=E:/mysql-5.7.12-winx64/data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

4.开始-》运行-》cmd。

首先 cd E:mysql-5.7.13-winx64in

命令:mysqld --initialize #直接初始化mysql,生成data文件夹中的文件。

命令:mysqld -install #安装mysql  if启动时出现“服务名无效”的话,可以试试这个命令

命令:net start mysql #启动服务器

5、登陆

此时用mysql -uroot -p登录时,不知道密码,按以下步骤设置密码。

1)编辑解压目录下的 my.ini文件,在[mysqld]这个条目下加入

1
skip-grant-tables
保存退出后重启mysql

① 点击“开始”->“运行”(快捷键Win+R)。

② 停止:输入 net stop mysql

③ 启动:输入 net start mysql

这时候在cmd里面输入mysql -u root -p就可以不用密码登录了,出现password:的时候直接回车可以进入。

(1)进入mysql 数据库:

usemysql> mysql;

显示:
Database changed

(2)给root用户设置新密码,在命令行输入:
mysql>(版本5.7)update user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';

显示:

Query OK, 1 rows affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0

(3)刷新数据库
mysql> flush privileges;

显示:
Query OK, 0 rows affected (0.00 sec)

(4)退出mysql:
mysql> quit

显示
Bye

改好之后,再修改一下my.ini这个文件,把我们刚才加入的"skip-grant-tables"这行删除,保存退出再重启mysql就可以了。

修改完毕。重启mysql服务。

登录:mysql -uroot -p123qwe

mysql就可以连接了

但此时操作似乎功能不完全,还要alter user…

mysql> alter user 'root'@'localhost' identified by '123';

这样也可以:

mysql> set password for 'root'@'localhost'=password('123');

然后:

mysql>quit;

登录:

Mysql -uroot -p123 就可以直接登录。

以后就可以直接在命令行输入 Mysql -uroot -p

密码:123

进入!

#建数据库mysql_shiyan
CREATE DATABASE mysql_shiyan;
 
#查看数据库
show databases;
 
#使用 mysql_shiyan 数据库
use mysql_shiyan
 
#查看表
show tables;
 
#新建表
CREATE TABLE 表的名字
(
列名a 数据类型(数据长度),
列名b 数据类型(数据长度),
列名c 数据类型(数据长度)
);
 
 
比如:
CREATE TABLE employee (id int(10),name char(20),phone int(12));
 
#插入数据
INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);
#查询数据
SELECT * FROM employee;
 
 
#约束
约束类型:   主键          默认值     唯一     外键          非空
关键字:    PRIMARY KEY DEFAULT   UNIQUE    FOREIGN KEY      NOT NUL
 
#直接使用github上复制的源码
source /home/shiyanlou/Desktop/SQL3/MySQL-03-01.sql
 
 
#select语句
SELECT 要查询的列名 FROM 表名字 WHERE 限制条件;(where可以不填)
SELECT name,age FROM employee WHERE age<25 OR age>30;     #筛选出age小于25,或age大于30
SELECT name,age FROM employee WHERE age>25 AND age<30;    #筛选出age大于25,且age小于30
SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt IN ('dpt3','dpt4');
SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt NOT IN ('dpt1','dpt3');
SELECT name,age,phone FROM employee WHERE phone LIKE '1101__'; #_代表一个  
SELECT name,age,phone FROM employee WHERE name LIKE 'J%';# %代表不确定数量
SELECT name,age,salary,phone FROM employee ORDER BY salary DESC; # 对结果排序 asc升 desc降
 
 
 
函数名:COUNT   SUM AVG      MAX      MIN
作用: 计数  求和  求平均值   最大值  最小值
 
SELECT MAX(salary) AS max_salary,MIN(salary) FROM employee;
 
#子查询
SELECT of_dpt,COUNT(proj_name) AS count_project FROM project
WHERE of_dpt IN
(SELECT in_dpt FROM employee WHERE name='Tom');
 
#连接查询
SELECT id,name,people_num
FROM employee,department
WHERE employee.in_dpt = department.dpt_name
ORDER BY id;
原文地址:https://www.cnblogs.com/hahajava/p/9950900.html