0x00 安装及配置

Windows

1.首先官网下载(https://dev.mysql.com/downloads/mysql/)

ps:不想官网下载的可以到文章末尾我分享的链接下载(应该是比较老的版本233)。

2.解压到你想放到的文件夹里,并新建一个文本my.ini,内容如下。

[client]
port=3306
default-character-set=utf8
[mysqld]
#开启查询缓存
explicit_defaults_for_timestamp=true
port=3306
#下面两个目录均为你们自己的安装目录
basedir=F:\大二下\MySQL\mysql-5.7.18-winx64
datadir=F:\大二下\MySQL\mysql-5.7.18-winx64\data
max_connections=500
character-set-server=utf8
default-storage-engine=INNODB

3.设置环境变量

我的电脑-->高级系统设置-->高级-->环境变量

在系统变量里的Path中添加F:\大二下\MySQL\mysql-5.7.18-winx64\bin即可。

4.安装服务

mysqld install //安装
mysqld remove //删除

5.初始化

mysqld --initialize //有初始密码
mysqld --initializeinsecure //无

6.启动服务

net start mysql //启动
net stop mysql //停止

7.修改初始密码

首先打开mysql-->data-->aaaa.err文件,搜索password字符串,可以看到你的初始密码。

mysql -u root -p           //以root用户打开mysql,用初始密码登陆
show databases; //提示修改密码
set password = 'abcd1234'; //密码尽量复杂,不然会失败
flush privileges; //刷新权限

至此windows下的mysql就差不多能用了。

Linux-Deepin

安装

参考博客

1.输入以下命令即可,记得设置密码

sudo apt-get install mysql-server
apt-get install mysql-client
sudo apt-get install libmysqlclient-dev

2.检查是否成功

sudo netstat -tap | grep mysql

卸载

参考 博客

1.查看mysql版本

mysql -V

2.卸载

sudo apt-get autoremove--purge mysql-server-5.7 //5.7.18是mysql的版本
sudo apt-get autoremove mysql-server
sudo apt-get remove mysql-common

0x01 基本操作

参考博客:

#库相关
create database test; //创建数据库
drop database test; //删除数据库
use test; //使用数据库 #表相关
create student(
student_number bigint(20) not null,
name char(10)
); // 创建表
drop table student; //删除表
show tables; //查看数据库存在的所有表名称
desc student; //查看表的组成
show create table student; //查看表的创建过程,可以直接看到是否有主键,外键 #列相关
alter table student add column age int(3); //增加列
alter table student drop column age; //删除列
select * from table_name; //查看表的所有列的内容 #插入,更新,删除数据
insert into student(name, student_number, age)values('root',123456,15);
update student set name = 'me' where student_number = 123456; #主键相关
primary key (column_name....); //设置主键,需在定义表的时候设置,即在后面添加这句
alter table student add primary key(student_number); //添加主键
alter table student drop primary key; //删除,一个表只有一个主键,故不用指定列名 #外键相关
constraint(foreign_key_name) foreign key(name) references teacher(name);// 设置外键,和主键一样需在定义表的时候设置
alter table table_name Add constraint `foreign_key_name` foreign key(a) References main_tablename(b) ForeignKeyOption;// 添加外键
alter table student drop foreign key foreign_key_name 外键名;// 删除外键

0x02 自己遇到的一些错误及解决方法

  • ERROR 1045 (28000): Access denied for user 'root'@'localhost'

    我是忘了以管理员权限打开cmd ~233
  • ERROR 1091 (42000): Can't DROP 'teacher_ibfk_1'; check that column/key exists

    我一开始是想删除外键,输入
    alter table teacher drop teacher_ibfk_1;
    后来发现少打了一个foreign key....
  • ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '('waijian1') foreign key(student_name) references student(name) on update' at line 1

    输入如下:
    mysql>alter table teacher add constraint('waijian1') foreign key(student_name) references student(name) on update;
    找了贼久的错误没找出来,百度一发发现'waijian1'这玩意不是单引号!!!是反引号[`]
  • ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'on delete set null' at line 1

    一开始输入如下:
    mysql> ALTER TABLE teacher ADD CONSTRAINT `waijian` FOREIGN KEY(student_name) REFERENCES student(name) on update set null on delete set null;
    更改之后:
    mysql> ALTER TABLE teacher ADD CONSTRAINT `waijian` FOREIGN KEY(student_name) REFERENCES student(name) on update cascade on delete cascade;
    //注意,如果你的列定义是设置的not null,那么执行on update set null就会报错

MySQL的学习记录(3.31更新)的更多相关文章

  1. OpenFlow1.3.3 学习记录(持续更新)

    OpenFlow1.3.3 学习记录(持续更新) 正在学习OpenFlow1.3,该篇笔记将日常更新,主要内容大致为官方文档的总结与翻译. 交换机组件 按照优先级顺序进行包匹配,如果匹配到流表项,则执 ...

  2. MySQL学习记录(不断更新)

    MySQL设置数据集为UTF8仍无法输入中文的解决办法: 我们的机器默认为gbk,因此可在进入数据库之前,使用以下这条语句将默认编码改为gbk,注意没有单引号,也不要用分号. mysql -uroot ...

  3. 从零开始学习Mysql的学习记录

    2015/06/18 16:23更新,由于QQ邮件的图片链接失效了,请在云笔记链接查看 http://note.youdao.com/share/?id=f0b2ed30a3fc8e57c381e3d ...

  4. oracle数据库学习记录(持续更新中...)

    --------------------------------------------day1------------------------------------------------- 1. ...

  5. MySQL巩固学习记录(一)

    mysql下载安装 一.采用图形化界面安装 (初期只安装server服务端就可以了,别的不多赘述) 二.采用压缩版安装 1.将文件解压缩到自己想要的路径 2. 添加环境变量,即mysql的bin目录 ...

  6. mysql的学习记录

    1 MySQL -h localhost -u UserName -p Password-h不写,默认为localhost注意:最好先MySQL -h localhost -u UserName -p ...

  7. mysql/mariadb学习记录——limit

    在mysql/mariadb 中可以用limit来限制查询的条数.例子如下: 1.limit后加一个参数 limit n: //选中查询所有结果中的前两条记录并返回 mysql> ; +---- ...

  8. MySQL索引学习记录

    参考资料: http://blog.csdn.net/v_july_v/article/details/6530142http://blog.codinglabs.org/articles/theor ...

  9. MySQL语句学习记录

    注意,命令行下,每条语句最后都需要加分号. 1.显示所有数据库 SHOW DATABASES 2.使用某数据库 如mysql数据库  use mysql  (sql语句不区分大小写) 3.显示所有表 ...

随机推荐

  1. java并发:Synchronized 原理

    1.同步代码块: 反编译结果: monitorenter : 每个对象有一个监视器锁(monitor).当monitor被占用时就会处于锁定状态,线程执行monitorenter指令时尝试获取moni ...

  2. 安装使用pyclone进行克隆演化推断

    pyclone介绍   可以根据多个样品突变的allele frequency 和 copy number,推断出有该突变的细胞克隆所占的比例(cellular prevalence)在不同样品间的变 ...

  3. 如何高效的使用PowerShell备份数据库

    初始脚本 Get-SqlDatabase -ServerInstance localhost | Where { $_.Name -ne 'tempdb' } | Backup-SqlDatabase ...

  4. 2016-2017 CT S03E06: Codeforces Trainings Season 3 Episode 6 The Baguette Master

    比赛看不懂 之后不确定题意去瞄了题解,需要分类讨论?囧 之后按照队友已经ac的题意 就是求外面一圈周长,直接可以求得 #include<bits/stdc++.h> using names ...

  5. JustMock .NET单元测试利器(一)

    1.什么是Mock? Mock一词是指模仿或者效仿,用于创建实例和静态模拟.安排和验证行为.在软件开发中提及"mock",通常理解为模拟对象.模拟对象的概念就是我们想要创建一个可以 ...

  6. jquery回调函数的一个案例

    1.引言 今天在学习<jQuery基础教程>在学习编写插件的时候,书中说利用回调函数来当参数,会极大的提高程序的灵活性.对回调函数很陌生.研究了一下给的示例程序.感觉对回调函数有了基本的了 ...

  7. 小程序版好友对战实战-wss部署与小程序用户登录时序

    上一篇文章是对需求的分析,本次将逐渐进入代码阶段.本次主要的内容包括服务端wss的部署以及小程序端用户授权的时序及逻辑. wss的配置与部署 微信小程序出于安全考虑,要求所有涉及到网络的操作,必须使用 ...

  8. 什么是PostBack(译)

    什么是PostBack(译) What is a postback? 下面的内容是针对ASP.NET新手的 PostBack什么时候被引发? PostBack由客户端浏览器引发.通常是用户操作(点击按 ...

  9. Unity3D基本操作教程

    物体操作图文教程 一些游戏资产文件 拖进游戏里 像这样,就可以上坡了 修改箱子的位置 完成 机械臂开始运作 游戏通关,教学结束

  10. 【BZOJ2754】喵星球上的点名(AC自动机)

    [BZOJ2754]喵星球上的点名(AC自动机) 题面 BZOJ 题解 友情提示:此题请不要在cogs上提交,它的数据有毒 对于点名串构建\(AC\)自动机 然后把名字丢进去进行匹配, 大力统计一下答 ...