1, 下载绿色版Mysql5.6.24
2,将bin目录设置到环境变量中
比如 :path = %Path%;D:\Program Files\mysql-5.6.24-win32-noinstall\bin;
3,修改my.ini文件
1) 解压后可以看到my-default.ini,复制它并命名为my.ini
2) 编辑my.ini里面的属性
#mysql的目录
basedir = D:\Program Files\mysql-5.6.24-win32-noinstall#mysql存放数据的目录
datadir = D:\Program Files\mysql-5.6.24-win32-noinstall\dataport=3306
character_set_server=utf8
[client]
port=3306
default-character-set=utf8
4,通过命令提示符安装mysql
打开cmd,进入到mysql的bin目录下,使用 mysqld install命令安装
此时在windows的服务中,就可以看到Mysql的服务
mysqld remove 命令卸载Mysql
5,通过命令启动mysql服务
net start mysql
6,进入mysql
使用 mysql -u root -p回车之后输入密码进入(注意,第一次使用root登录时是没有密码的,直接回车)
7, 查询mysql中所有的数据库 show databases
原始数据库中,我们一般不作修改.
8, 退出与停止mysql服务
退出mysql命令提示符,使用 quit
停止mysql服务, 使用命令 net stop mysql
9, 显示一下安装的mysql编码方式
show variables like 'char%';
---------------------------------------------------------------------------------------------------------
1, 创建数据库
create database xxx;
2,使用数据库
use xxx;
3, 查询所有数据库的表
show tables;
4, 查看数据库中的某张表的结构
desc t_xxx;
5, 删除数据库
drop database xxx;
---------------------------------------------------------------------------------------------------------
1, mysql常用的数据类型
int 表示整型
float 表示浮点型
varchar 表示可变长度的字符串(最大256)
char 表示固定长度的字符串(最大256)
text 表示文本类型, 比如说存一个网页的内容
binary 表示二进制类型,比如说存图片,存文件时使用 类似于 blob
date 表示日期类型
time 表示时间类型
datetime 表示日期和时间 类似于 timestamp
其它还有很多类型,参考文档说明...
2, 数据表的命名规则 :
建议段字使用下划线,比如 user_id
建议普通表使用t_xxx命名,比如 t_user,临时表使用temp_xxx
3, 创建t_user表
-- 创建表create table if not exists t_user( id int(10) auto_increment primary key, username varchar(20) not null unique, password varchar(20), sex char(1) default 'm', birday date comment '这是生日哦') comment '用户表';-- 表结构修改ALTER TABLE t_user RENAME TO t_user1 ; -- 修改表名ALTER TABLE t_user change COLUMN gender sex char(1) COMMENT '类型:w-女;m-男 ' ; -- 修改表列名 ALTER TABLE t_user MODIFY id int(20); -- 修改字段类型ALTER TABLE t_user ADD address VARCHAR(40); -- 添加表列ALTER TABLE t_user DROP column address ; --删除表列 -- 表备注添加 ALTER TABLE t_user COMMENT='这是表的注释'; -- mysql 修改列的注释是比较麻烦的,它会重新建表列,浪费时间的
4, 导入一个sql脚本文件
source 路径 ,注意路径只能使用 这种斜杠 /
5, 创建外键关联表 学生和班级是一对多的关系
create table if not exists t_classroom( id int(10) auto_increment primary key, classname varchar(50), grade int(10)) comment '班级表';create table if not exists t_student( id int(10) auto_increment primary key, username varchar(20), password varchar(20), birday date , cls_id int(10), -- 外键的使用方式 constraint foreign key (cls_id) references t_classroom(id)) comment '学生表';
6, 为用户授权 grant ,可以实现修改用户密码
-- 创建用户yangw并设置密码为123456,它可以对cms数据库中所有对象进行所有的操作 (下面这个是只能通过localhost访问到)GRANT All ON cms.* TO 'yangw'@'localhost' IDENTIFIED BY '123456';-- 修改root用户的密码,root是可以访问所有的数据库对象的GRANT All ON *.* TO 'root'@'localhost' IDENTIFIED BY '123456';-- 用户在任何ip地址中都能访问数据库,用户可以设置为无密码GRANT All ON cms.* TO 'root'@'%' ;GRANT All ON cms.* TO 'root'@'%' IDENTIFIED BY '';
7, insert语句, truncate清空表(同时也会将自动递增标识清空)
-- insert语句,为指定字段赋值insert into t_user (username,password) values ('张三','123456');--insert语句, 不指定字段,此时需要为每一个字段赋值, 主键是自动生成的,这里设置为null即可 insert into t_user values (null,'李四','123456','y','2015-06-10');-- insert .... selectinsert into t_student (username,password) select username,password from t_user ;--干掉整个表的数据,也就是清空表truncate table t_user;
8, id in(a,b,c) 的效率 比 id=a or id=b or id=c 的效率高.
9, now() 获取当前时间 ,mysql中有很多有用的时间函数,比如 获取年份YEAR()
-- 查询当前时间select now(); 2015-11-27 18:04:55-- 查询当前的年份select YEAR(now()); 2015
10,group by
-- 查询出每个年龄段的学生数量.select YEAR(birday) as 'y' ,count(id) from t_student group by y;
navicat连接mysql数据库时,使用root用户,需输入密码(本文设置的是123456)
但当使用授权的用户xt_oms时,输入密码则无法连接报1045, 不输入密码则可以连接,但只能看到两个数据库