前言:
作为一个双非学cv的狗硕士,为了可以在秋招的时候找到一个合适的工作,不得不开始会想起一些旧时的记忆。比如说数据库,没错这玩意已经好久没用过了,python中所接触的数据库最多用一个sqlite就搞定了,可如果是开发工作这是万万不行的。故此记录本篇博客,当然本篇除了记录一些基本操作方法遇见的错误,还会记录面试中所遇到的数据库问题。
最后更新日期:2023.3.23
目录
MySqL序:先序概念
1.什么是SQL?
结构化程序语言
2.通用语法
单行或多行,以;结尾,不区分大小写但关键字建议大写。
单行注释:
--注释内容或#
多行注释:
/* */
一.基本操作语句
首先大家想必知道win+r快速打开cmd,以下操作都是在此进行的。
1.服务器启动与关闭
net stop mysql #close
net start mysql
【注1】若有问题,检查是否管理员赋权
2.登录与退出
//登录:有以下几种模式
mysql -uroot -p密码
mysql -uroot -p
密码
//远程登录ip地址=你自己要登陆的
mysql -hip地址 -uroot -p
//登出:
exit
【注2】初始密码可以在配置文件中查找(如果有的话)
3.数据库的四项基本操作(CRUD)
// 查询数据库,一般来说自带四个数据库
show databases;
//查询正在使用的数据库
select database();
// 查看某个数据库的字符集
show create database mysql;
//创建,第二个可以防止你忘记这个名字的数据库是否创建, 第三个指定字符集
create database 数据库名;
create database if not exists 数据库名;
creats database 数据库名 character set gbk;
//修改
alter database 数据库名 character set utf8;
//删除
drop database 数据库名;
drop database if exists 数据库名;
//使用数据库
use 数据库名;
4.在一个数据库中操作表
// 查看表
show tables;
// 查询表的结构
desc 表名;
//创建表
create table 表名(
列名1 数据类型,
列名2 数据类型,
...
列名n 数据类型);
//复制表
create table 表名 like 被复制的表名;
//删除表
drop table 表名;
drop table if exists 表名;
//修改
alter table 表名 rename to 新的表名;
alter table 表名 character set utf8; //修改表的字符集
alter table 表名 add 列名 数据类型;
alter table 表名 modify 列名 新数据类型;
alter table 表名 drop 列名;
【注3】进行此操作前首先需要使用一个数据库!
【注4】数据类型:
(1)int :整数类型
(2)double:小数类型
(3)date: 日期,只包含年月日, yyyy-mm-dd
(4)datetime:包含时分秒
(5)varchar:字符串
5.增删改表中数据(工作中常用)
1.添加数据
insert into 表名(列名) values (值1...);
2.删除数据
delete form 表名[where 条件]
truncate table 表名;
4.查询
select * from 表名;
【注5】添加数据时列名与值需要一一对应,若不定义列名则给所有列添加值。
【注6】如果不加条件,则会删除全部内容。
二.报错指南
2.1 名称写错了
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 'timestape)' at line 7
这里将timestamp写成了timestape