初学MySQL基础知识笔记--01
本人初入博客园,第一次写博客,在今后的时间里会一点点的提高自己博客的水平,以及博客的排版等。
在今天,我学习了一下MySQL数据库的基本知识,相信关于MySQL的资料网上会有很多,所以我就不在这里复制粘贴了,在这里留下一些本人在初学MySQL时的一些笔记,以供有需要的同学来参考。以下内容绝无复制,仅仅是博主自己的一些总结。
字段类型
- 数字:int,decimal(小数)
eg:decimal(5,2):一共包含5位数,小数部分有2位
- 字符:char(存的字符是固定的),varchar(存的字符是可变的),text(大文本)
eg:char(8)8个字符,不足补空格,varchar(8)自动截取
- 日期:datatime
- 布尔:bit
eg:bit(8)表示存了8个二进制位,不写则默认一个
约束
- 主键:primary key
- 非空:not null
- 唯一:unique
- 默认:default
- 外键:foreign key
终端(以分号结尾)
- 终端连接服务器 mysql -uroot -p
- 推出mysql:exit,quit,ctrl+c
- 查看版本:select version();
- 显示当前时间:select now();
- 链接远程服务器:mysql -hip地址 -uroot -p
(若修改端口,在后面写出,若没改,是原来的3306则不用管)
| -h | 后面写要连接的主机地址 |
| -u | 后面写要连接的主机名 |
| -p | 回车后写密码 |
数据库操作
- 创建数据库:create database 数据库名 charset=utf8;
- 删除数据库:drop database 数据库名;
- 切换数据库:use 数据库名;
- 查看当前选择的数据库:select database();
- 显示现有数据库:show databases;
- 查看数据库中有哪些表:show tables;
数据库中表操作
- 创建表:creat table 表名(列及类型)auto_increment表示自动增长
eg:creat table students(
id int auto_increment primary key,
name varchar(10) not null
);

上面截图中default将小括号去掉,空格代替
- 查看表结构:desc 表名;(describe)
- 修改表:alter table 表名 add|change|drop 列名 类型;
eg:alter table students add birthday datatime;
*注:修改列的时候列的名字不能修改,只能修改类型
- 删除表:drop table 表名
- 更改表名称:rename table 原表名 to 新表名
- 查看表的常见语句:show create table ‘表名’;
数据操作
- 查询:select * from 表名;
- 添加数据:
全列添加:insert into 表名 values(…)
eg:insert into students values(0,'曹操',1,'1999-2-3',0);*注:其中的0,并不一定生产0,而是内部自动会生成,此处写的0是为了占位。
缺省插入:insert into 表名(列1,…)values(值1,…)
同时插入多条数据:insert into 表名 values(…)(…)…;
或:insert into 表名(列1,…) values(…)(…)…;
- 修改:update 表名 set 列1=值1,…where 条件
*注:where可以是id序列,不写则会导致所有行被修改
- 删除:delete from 表名 where 条件(物理删除,一旦删除不可恢复)
*对比:逻辑删除,其实就相当于修改再进行筛选。
eg:delete from students where id=3;(物理删除)
updata students set isDelete=1 where id=3;
select * from students where isDelete=0;(逻辑删除)
备份与恢复
- 备份:首先进入MySQL的库目录,然后运行备份命令。
mysqldump -uroot -p 数据库名 > 目标路径及文件名(.sql文件)
按提示输入mysql的密码。
- 恢复:
mysqldump -uroot -p 新数据库名 < 已备份的文件(.sql文件)
初学MySQL基础知识笔记--01的更多相关文章
- 初学MySQL基础知识笔记--02
查询部分 1> 查询数据中所有数据:select * from 表名 2> 查询数据中某项的数据:eg:select id,name from students; 3> 消除重复行: ...
- mysql基础知识笔记
Mysql基础笔记 环境配置 基本概念 mysql命令行 进入 use show 查询 select order by where like 数据过滤regexp concat 文本函数 日期函数 数 ...
- Android基础知识笔记01—框架结构与四大组件
-----------Andriod 01--------------->>> Andriod系统架构 linux内核与驱动层. 系统运行库层. 应用框架层. 应用层 内核驱动 ...
- MySQL 基础知识梳理
MySQL 的安装方式有多种,但是对于不同场景,会有最适合该场景的 MySQL 安装方式,下面就介绍一下 MySQL 常见的安装方法,包括 rpm 安装,yum 安装,通用二进制安装以及源码编译安装, ...
- mysql基础知识大全
前言:本文主要为mysql基础知识的大总结,mysql的基础知识很多,这里作简单概括性的介绍,具体的细节还是需要自行搜索.当然本文还有很多遗漏的地方,后续会慢慢补充完善. 数据库和数据库软件 数据库是 ...
- mysql基础知识语法汇总整理(二)
mysql基础知识语法汇总整理(一) insert /*insert*/ insert into 表名(字段列表) values(值列表); --蠕虫复制 (优点:快速复制数据,测试服务器压力) in ...
- mysql基础知识语法汇总整理(一)
mysql基础知识语法汇总整理(二) 连接数据库操作 /*连接mysql*/ mysql -h 地址 -P 端口 -u 用户名 -p 密码 例如: mysql -u root -p **** /* ...
- JS基础知识笔记
2020-04-15 JS基础知识笔记 // new Boolean()传入的值与if判断一样 var test=new Boolean(); console.log(test); // false ...
- Java多线程基础知识笔记(持续更新)
多线程基础知识笔记 一.线程 1.基本概念 程序(program):是为完成特定任务.用某种语言编写的一组指令的集合.即指一段静态的代码,静态对象. 进程(process):是程序的一次执行过程,或是 ...
随机推荐
- Java 第六章
第六章 for语法:for(表达式①;表达式②;表达式③){ //④循环操作}表达式含义:表达式1:赋值语句, 它用来给循环变量赋初值 例如:int i = 1;表达式2:循环条件,一个关系表达式, ...
- 【CJOJ2512】gcd之和(莫比乌斯反演)
[CJOJ2512]gcd之和(莫比乌斯反演) 题面 给定\(n,m(n,m<=10^7)\) 求 \[\sum_{i=1}^n\sum_{j=1}^mgcd(i,j)\] 题解 首先把公因数直 ...
- 【LightOJ1336】Sigma Function(数论)
[LightOJ1336]Sigma Function(数论) 题面 Vjudge 求和运算是一种有趣的操作,它来源于古希腊字母σ,现在我们来求一个数字的所有因子之和.例如σ(24)=1+2+3+4+ ...
- 使用Ant打包Java后台程序
概述 本文通过一个简单的Java Application例子描述如何用ANT完成基本的程序打包工作.包含文件拷贝.编译.打包三部分:完成这三部就可以得到一个可运行的程序包了. ANT的安装,环境变量的 ...
- 常用Oracle进程资源查询语句(运维必看)
(一)根据程序名称查找相关信息select A.process,B.spid,A.sid,A.serial#,A.sql_address,A.username,A.program,A.status,A ...
- C++学习-6
1.Auto无法区分常量变量,引用常量(顶层const被忽略了),不能识别引用变量,const和&都无法识别 Auto不能放在结构体内部 2.decltype()能识别引用,能获取常量属性,t ...
- 分享调用Java private方法
上周在修复bug时,发现Java类中某方法是private,且类中没有用到,第一感觉是方法多余.其实通过分析,发现原来Native Code会通过JNI调到此方法.这也给自己启发,平时做Code re ...
- Java高并发秒杀系统【观后总结】
项目简介 在慕课网上发现了一个JavaWeb项目,内容讲的是高并发秒杀,觉得挺有意思的,就进去学习了一番. 记录在该项目中学到了什么玩意.. 该项目源码对应的gitHub地址(由观看其视频的人编写,并 ...
- Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3)
1. 异步加载爬虫 对于静态页面爬虫很容易获取到站点的数据内容,然而静态页面需要全量加载站点的所有数据,对于网站的访问和带宽是巨大的挑战,对于高并发和大访问访问量的站点来说,需要使用AJAX相关的技术 ...
- 原生js获取left值和top值
在用js做动态效果时,通常需要获取元素绝对定位中的left和top属性值.比如做一个碰撞广告,就要不停的获取元素的top和left属性值. 需要注意的事:取值的元素必须要设置position:abso ...