一、MySQL基本数据类型
tinyint 【4】 0~255 ----年龄
smallint 【6】 ±32w ----员工数
int 【11】 ±21亿 ----国家人口数
decimal 【10,0】 ±999.99 ----单价(不上千的数)
char 【1】 ----公司名
varchar 【无】 ----大部分
date 【0】 1000-01-01~9999-12-31 ----年月日
time 【0】 ±35天59分59秒 ----时间
datetime 【】 ----年月日时间
二、基本语法快速记忆手册
1、增字段
-- alter table 表名
-- add column 字段名 新数据类型
2、更名字段
-- alter table 表名
-- change 旧字段名 新字段名 数据类型;
3、改数据类型
-- alter table 表名
-- modify 字段名 新数据类型;
4、删除字段(一个个删)
-- alter table 表名
-- drop 字段名
5、精准添加数据
-- insert 表名 (字段) values
-- (与字段对应,与字段对应),
-- (与字段对应,与字段对应)
6、添加整行数据
-- insert 表名 values
-- (全字段对应);
7、更新数据
-- update 表名 set
-- 字段名=字段值,
-- 字段名=字段值
-- where 字段名=字段值(为索引)
8、删除整行数据
-- delete from 表名
-- where 字段名=字段值(索引)
9、删除具体字段数据(以更新方式)
-- 字段名=null,
-- 字段名=新字段值
-- where 字段名=字段值(索引)-- update 表名 set
10、添加外键
-- alter table 表名
-- add constraint 外键名 foreign key(字段) references 参照表名(参照字段)
-- on delete 删除规则 on update 更新规则
11、删除外键
-- drop foreign key 外键名
12、添加唯一约束
-- alter table 表名
-- add unique(约束名)字段名
13、删除唯一约束
-- alter table 表名
drop index 字段
14、添加默认值
-- alter table 表名
-- alter column 字段 set default 默认值;
15、删除默认值
-- alter table 表名
-- alter column 字段名 drop default;
16、拷贝表结构(全字段)
create table 新表 like 旧表;
17、拷贝表结构(字段)字段
create table 新表 select 字段1,字段2 from 旧表;
18、拷贝数据
insert 新表 select * from 旧表;
19、查询不同字段表数据
select distinct 字段名 from 表名;
20、coalesce(a,b,c);
参数说明:如果a==null,则选择b;如果b==null,则选择c;如果a!=null,则选择a;如果a b c 都为null ,则返回为null(没意义)。配合 with rollup
21、求余数 (x%y)
mod(x,y)
22、自增长 起始值 设置
alter table 表名 auto_increment = 起始值;
23、添加自增长
alter table 表名 modify 字段 类型 auto_increment ;
24、-- 自增量设置(每次增1)
set @@auto_increment_increment =1;
25、MySQL下标由1开始,在MySQL中一个中文字3个字节
26、日期操作
年月日时分 now() 年月日 curdate() 时分秒 curtime()
select weekday('2019-12-1') 当前星期几 -- 加1就准了
select dayofyear('2019-12-1') 一年中第几天 -- 非常准确
select date_add('2019-12-1',interval 20 day) 日期加20天 {减法使用:date_sub}
select datediff(now(),'2019-12-1') 天数间隔
select timestampdiff(Year,日期,now()) 指定格式间隔 | DAY,WEEK,HOUR,MONTH
select date_format(now(),'%Y-%c-%d %H:%i:%s') 自定义显示日期 24小时制 {12小时制 %h小时 %p上下午 }
三、如果MySQL出现意外,需要重装
(1)停止服务 (win+R搜索services.msc ) 找到MySQL服务,将MySQL的服务给停止
(2)开始菜单搜索 》》 控制面板 》》 卸载程序 》》MySQL》》卸载。
(3)删除注册表( win+R搜索regedit)
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/Eventlog/Applications/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/Services/Eventlog/Applications/MySQL
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Eventlog/Applications/MySQL
(4)删除数据和记录(如果没有可能是隐藏的,显示隐藏目录即可)比如:C:\ProgramData\MySQL(把MySQL文件夹删除)
(5)重启电脑。
四、既然卸载了,那就来进行 安装 吧
1、 首先下载:https://www.mysql.com/downloads/ 下载最新版的压缩文件,解压到你喜欢的位置(建议目录不带中文)
2、比如我的目录是:J:\MySQL\MySQL\mysql-8.0.18-winx64
那么我们在这个目录下新建一个my.ini 配置文件,然后写入以下内容:
[mysql]
# 设置mysql客户端默认字符集 (“#”号是注释,每个#号是为了解释下一行代码的作用!)
default-character-set=utf8
[mysqld]
#设置3306端口
port = 3306
# 设置mysql的安装目录(注意:目录要和你的目录对应)
basedir=J:\MySQL\MySQL\mysql-8.0.18-winx64
# 设置mysql数据库的数据的存放目录 (注意:目录要和你的目录对应,"\data"别漏掉了哦)
datadir=J:\MySQL\MySQL\mysql-8.0.18-winx64\data
# 允许最大连接数
max_connections=200
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
3、添加环境变量 (为了方便后续的操作)
我的电脑右键属性-->高级系统设置-->环境变量-->系统变量中找到Path-->点击编辑-->新建 加入Mysql的bin目录路径(比如:我的是这样的)
4、真正开始安装了
在开始菜单搜索 CMD命令提示符,右键以管理员身份运行(不用管理员身份会失败)
依次输入:(一步执行一句代码!)
mysqld --install (安装)
mysqld --initialize(初始化,这一步会慢一点,耐心等待喔!)
net start mysql(运行)
5、密码是随机生成的,我们得去找到密码,然后登陆MySQL
首先:在MySQL目录下(比如我是J:\MySQL\MySQL\mysql-8.0.18-winx64)搜索*.err ,会出现一个文件,我们右键用记事本打开它!
我们找到一句话 A temporary password is generated for root@localhost: >mso<k70mrWe (为root @ localhost生成一个临时密码:> mso <k70mrWe)
然后重新打开一个cmd黑窗口输入 mysql -uroot -p 按Enter键 把你密码复制粘贴进去 就成功登陆了
6、咱得把密码改一下,不然记不住哈!!
在你登陆成功后的cmd窗口中继续打一句代码(复制过去,密码也可以为空)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
来源:oschina
链接:https://my.oschina.net/u/4364580/blog/3337701