一、安装
1. 官网下载5.6.41版本 https://dev.mysql.com/downloads/mysql/
2. 解压到自己的文件夹 (我的路径是E:\mysql\mysql-5.6.41-winx64)
3. 复制根目录下文件my-defaulst, 重命名为my.ini, 新增如下配置
# 设置3306端口
port =3306
# 设置mysql的安装目录
basedir =E:\mysql\mysql-5.6.41-winx64
# 设置mysql数据库的数据的存放目录
datadir =E:\mysql\mysql-5.6.41-winx64
# 允许最大连接数
max_connections=200
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
4. windows下以管理员身份运行cmd
5. 安装mysql
1) 切换盘符 e:
2) 进入到mysql的bin目录下 cd E:\mysql\mysql-5.6.41-winx64\bin
3) 安装 mysqld --install, 提示Servuce successfully installed (mysqld remove:移除mysql服务)
4)启动mysql服务 net start mysql (net stop mysql:停止mysql服务)
6. 进入mysql(第一次以root权限进入)
mysql -u root -p (会输入密码,可以不输入,直接回车,不设置密码)
二、SQL操作(大部分和SQL相同,不再列举)
1. 进入mysql
1) 本地连接 mysql -u user_name (-p)
2)远程连接 mysql -u user_name -h(ip_name) (-p)
2. 用户管理(root权限下mysql数据库的user表)(\G 格式化输出)
1)创建用户 create user user_name(@ip_address) identified by password
2)删除用户 drop user user_name(@ip_address)
3)修改用户 rename user old_user_name@ip_name to new_user_name@ip_name
4)修改密码 set password for user_name@ip_namedo = password('new_password')
3. 建表
create table table_name(
column_name1 datatype ( 大部分一样 / auto_increment )
...
) engine = InnoDB default charset = utf8
4. 重命名表 alter table old_table_name rename new_table_name
5. root默认没有密码,重设root密码 mysqladmin -u root -p password new_password
三、数据类型
1. 数字类型
1)整数 int, smallint, mediumint, bigint
2)浮点数 float, double, real
3)定点数 decimal(m,d) (m 表示十进制数字总的个数, d表示小数点后面数字的位数)
2. 日期和时间
1)date YYYY-MM-DD
2) time HH:MM:SS
3) datetime YYYY-MM-DD HH:MM:SS
4) timestamp YYYY-MM-DD HH:MM:SS(时间戳)
5) year YYYY
3. 字符串类型
1)字符串 char, varchar
2)文本 text, tinytext, mediumtext, longtext
3)二进制(可能用来存储、音乐等) tinyblob, blob, mediumblob, longblob
四、MySQL与Oracle的区别
1. 物理方面的区别
1)Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高
2)Oracle支持大并发,大访问量,是OLTP最好的工具
3)安装所用的空间差别也是很大的,Mysql安装完后才152M而Oracle有3G左右,且使用的时候Oracle占用特别大的内存空间和其他机器性能
2. 操作上的区别
1) 主键
(1)Mysql一般使用自动增长类型,在创建表时只要指定表的主键为auto increment,插入记录时,不需要再指定该记录的主键值,Mysql将自动增长
(2)Oracle没有自动增长类型,主键一般使用的序列,插入记录时将序列号的下一个值付给该字段即可;只是ORM框架是只要是native主键生成策略即可
2) 单引号的处理
(1)MYSQL里可以用双引号包起字符串,ORACLE里只可以用单引号包起字符串。在插入和修改字符串前必须做单引号的替换:把所有出现的一个单引号替换成两个单引号
3) 翻页的SQL语句的处理
(1)MYSQL处理翻页的SQL语句比较简单,用LIMIT 开始位置, 记录个数;
(2)ORACLE处理翻页的SQL语句就比较繁琐了。每个结果集只有一个ROWNUM字段标明它的位置, 并且只能用 ROWNUM<100, 不能用ROWNUM>80
4) 长字符串的处理
(1)长字符串的处理oracle也有它特殊的地方。INSERT和UPDATE时最大可操作的字符串长度小于等于4000个单字节, 如果要插入更长的字符串, 请考虑字段用CLOB类型,方法借用 ORACLE里自带的DBMS_LOB程序包
(2)oracle插入修改记录前一定要做进行非空和长度判断,不能为空的字段值和超出长度字段值都应该提出警告,返回上次操作
5) 空字符的处理
(1)MYSQL的非空字段也有空的内容,ORACLE里定义了非空字段就不容许有空的内容
(2)按MYSQL的NOT NULL来定义ORACLE表结构,导数据的时候会产生错误。因此导数据时要对空字符进行判断,如果为NULL或空字符,需要把它改成一个空格的字符串
6)字符串的模糊比较
(1)MYSQL里用 字段名 like ‘%字符串%’,ORACLE里也可以用 字段名 like ‘%字符串%’ 但这种方法不能使用索引, 速度不快
7)Oracle实现了ANSII SQL中大部分功能,如,事务的隔离级别、传播特性等而Mysql在这方面还是比较的弱
五、忘记root用户密码
1. 管理员身份 net stop mysql
2. cd D:/Program Files/MySQL/MySQL Server 5.6/bin
3. 接着执行: mysqld --skip-grant-tables(注意后面没有分号;)
4. 再次打开一个新的cmd窗口,同样切换至MySQL安装bin目录下
5. 运行命令:mysql -u root -p (提示输入密码,这时不需要输入密码,直接回车即可成功进入mysql)
6. update mysql.user set password=PASSWORD('root') where User='root' (设置用户密码)
7. 最后刷新一下权限表:flush privileges 可以重新登录了
参考网址
注:文章是经过参考其他的文章然后自己整理出来的,有可能是小部分参考,也有可能是大部分参考,但绝对不是直接转载,觉得侵权了我会删,我只是把这个用于自己的笔记,顺便整理下知识的同时,能帮到一部分人。
ps : 有错误的还望各位大佬指正,小弟不胜感激