MySQL5.7.17 ZIP下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.17-winx64.zip 点击下载
我的解压地址:E:\mysql\mysql-5.7.17-winx64
先配置环境变量:
1、此电脑–>属性–>高级系统设置–>环境变量–>系统变量
2、创建MYSQL_HOME
3、在path如今后面添加
4、打开加压目录,找到my_default.ini改名为my.ini并复制以下内容进去,注意的是具体路径要改为自己的
####################配置文件开始###################
[client]
default-character-set=utf8
[mysqld]
port=3306
basedir ="E:\mysql\mysql-5.7.17-winx64/"
datadir ="E:\mysql\mysql-5.7.17-winx64\data/"
tmpdir ="E:\mysql\mysql-5.7.17-winx64\data/"
socket ="E:\mysql\mysql-5.7.17-winx64\data/data/mysql.sock"
log-error="E:\mysql\mysql-5.7.17-winx64\data/mysql_error.log"
#server_id = 2
#skip-locking
max_connections=100
table_open_cache=256
query_cache_size=1M
tmp_table_size=32M
thread_cache_size=8
innodb_data_home_dir="E:\mysql\mysql-5.7.17-winx64\data/"
innodb_flush_log_at_trx_commit =1
innodb_log_buffer_size=128M
innodb_buffer_pool_size=128M
innodb_log_file_size=10M
innodb_thread_concurrency=16
innodb-autoextend-increment=1000
join_buffer_size = 128M
sort_buffer_size = 32M
read_rnd_buffer_size = 32M
max_allowed_packet = 32M
explicit_defaults_for_timestamp=true
sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
#sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
####################配置文件结束###################
5、以系统管理员身份运行cmd进入bin目录
这里服务已经启动成功了,如果要停止,使用 net stop mysql
另外:系统未知错误2 ,出现这种错误的原因是在注册系统服务的时候 没有进入到 %mysql 的解压目%\bin 目录下, 即使配置了环境变量,也要进入该目录下进行注册 ,否则注册的服务“可执行文件路径”会默认在 C 盘下
/2017年1月13日01:13:42
注意,这个时候我尝试使用 mysql -u root -p 登陆,我发现进不去,报错为28000,这是第一次登陆,没有密码的,
解决方案,在解压目录/bin下停止mysql (net stop mysql),在my.ini的mysqld下面添加
skip-grant-tables
然后启动mysql(net start mysql)现在使用 mysql -u root -p就可以登陆成功了
//2017年1月14日20:40:28/
1、创建数据库–>create database mydb;
2、查看数据库–>show databases;
3、使用创建的数据库–>use mydb;
4、创建数据库表–>create table student(
id int(12) not null auto_increment primary key,
name varchar(25) not null,
age tinyint(2) not null,
sex varchar(10) not null,
class varchar(255) not null,
phone tinyint(11) not null
) engine =InnoDB default charset=utf8;
5、查看刚刚创建的student表结构–>desc student;
6、向学生表中添加数据–>insert into student values(
1,
‘小明’,
8,
‘男’,
‘一年级(3)班’,
18666666666
);
这里出错了,现在要修改phone字段,改phone的类型tinyint为int–>alter table student modify phone int(11) not null;
然后继续刚才的添加学生的语句–>insert into student values(
1,
‘小明’,
8,
‘男’,
‘一年级(3)班’,
18666666666
);
这个值还是不行,直接改成varchar好了–>alter table student modify phone varchar(11) not null;
继续添加学生小明–>insert into student values(
1,
‘小明’,
8,
‘男’,
‘一年级(3班)’,
‘18666666666’
);
再来几位–>insert into student values(
2,’小红’,8,’男’,’一年级(3班)’,’18966666666’),(
3,’翠花’,11,’女’,’一年级(3)班’,’15245647215’);
继续–>insert into student values(
4,’小红’,8,’男’,’一年级(3班)’,’18966666666’),(
5,’张三’,5,’男’,’一年级(3)班’,’15245647215’),(
6,’浮生’,7,’男’,’一年级(2)班’,’15245347215’),(
7,’大海’,9,’男’,’一年级(3)班’,’15245689215’),(
8,’大胖’,6,’男’,’一年级(4)班’,’15245486215’),(
9,’小胖’,6,’男’,’一年级(3)班’,’15245412215’),(
10,’王芳芳’,6,’女’,’一年级(3)班’,’15568647215’),(
11,’张燕’,6,’女’,’一年级(3)班’,’15241247215’);
7、查询有多少个学生–>select * from student;
8,查询id为5的学生信息–>select * from student where id=5;
9,查询id大于5等于的学生信息–>select * from student where id>=5;
10、查询一年级(3)班有多少人–>select * from student where class=’一年级(3)班’;
11、小明统计错了,他是2班的,改–> update student set class=’一年级(2)班’ where id=1;
改完了之后最好是查看一下结果,确保达到了想要的效果
12、小胖子的性别和电话都错了,改—>update student set sex=’女’,phone=’18888888888’ where id=9;
13、我突然想知道这些小屁孩是来自哪里的,加字段–> alter table student add area varchar(255) default ‘深圳’;
14,有的小屁孩到别的学校去了,加个状态–>alter table student add status varchar(10) default ‘在读’;
15,张三转校,改状态–>update student set status=’转校’ where id=5;
16、这群小毛孩还没有班主任呢,加上–>alter table student add teacher varchar(10) not null default ‘王老师’;
17,地名这个字段太广呢,删掉–>alter table sutdent drop column area;
18,小明,你给我出去!我要删除小明,删–>delete from student where id=1;
删除之后看看数据是否真的删除了
19,现在的娃娃读书都要看成绩的,来点分–>alter table student add performance tintyint(3) default 0;
20、给小孩子添加学习成绩–>update student set performance=89 where id=1;
小孩子太多了就直接使用可视化工具添加了…
21、看看有多少不及格的,站出来–>select *from student where performance<60;
22、对学生的成绩进行排序–>select * from student order by 总分 desc; (降序)
23、修改表family的name字段编码–>alter table family change name name varcahr(60) character set utf8 not null;