非后端开发Mysql日常使用小结
数据库的五个概念
- 数据库服务器
- 数据库
- 数据表
- 数据字段
- 数据行
那么这里下面既是对上面几个概念进行基本的日常操作。
数据库引擎使用
这里仅仅只介绍常用的两种引擎,而InnoDB是从MySQL 5.6.版本以后InnoDB就是作为默认启动使用的存储引擎。
(1) InnoDB
a,支持ACID,简单地说就是支持事务完整性、一致性;
b,支持行锁,以及类似ORACLE的一致性读,多用户并发;
c,独有的聚集索引主键设计方式,可大幅提升并发读写性能;
d,支持外键;
e,支持崩溃数据自修复;
InnoDB设计目标是处理大容量数据库系统,它的CPU利用率是其它基于磁盘的关系数据库引擎所不能比的。
它是一个可靠地事务处理引擎,不支持全文本搜索
(2) MyISAM
a,不支持 每次查询具有原子性
b,只支持表所
c,强调的是性能,其执行数 度比InnoDB类型更快,但是不提供事务支持
d,如果执行大量的SELECT,MyISAM是更好的选择
e,缺点:就是不能在表损坏后恢复数据。(是不能主动恢复)
既然知道了这俩种引擎的优缺点,那么写一下几个常用的API操作。
show engines; --显示所有可用的引擎
show table status from myDB; --查看myDB数据库下的所有表使用的引擎
show create table 表名; --指定查看表名的所有段名以及引擎
create table 表名(id int primary key, name varchar(50)) engine=MyISAM; --建表的时候指定引擎
alter table 表名 Engine= MyISAM; --建完表后修改引擎为MyISAM
当然,也可以通过修改配置文件my.ini在[mysqld]最后添加为上default-storage-engine=InnoDB,重启服务,数据库默认的引擎修改为InnoDB。
数据库操作
>net start mysql //启动数据库和停止net stop mysql
>mysql -u root -p //默认登陆本机(-h是主机地址)
>SELECT USER(); //显示当前用户
>create database 数据库名; //创建数据库
>SELECT DATABASE(); //显示当前使用数据库
>SHOW DATABASES //显示所有数据库列表
>USE DATABASE 库名; //使用该数据库
>DROP DATABASE 库名 //删除数据库
>CMD终端:mysqladmin -u用户名 -p旧密码 password 新密码 //修改密码
>mysql语句:set password for 用户名@localhost = password('新密码');
数据表操作
>SHOW TABLES; //列出库中所有的表
>DESCRIBE table1; //查看表结构
>show columns from 数据表; //显示表的所有段名以及类型
>CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1)); //增加数据表和字段名
>DROP TABLE 表名; //删除表
>alter table stu rename as students; //将旧表明stu改为新表明students。
表字段操作
添加字段
语法:ALTER TABLE 表名 ADD COLUMN 字段名 字段类型 DEFAULT NULL;
示例:ALTER TABLE dictionary ADD COLUMN calss VARCHAR(10) DEFAULT NULL;
-- dictionary是表名
修改字段名称
语法:ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新字段类型 DEFAULT NULL;
示例:ALTER TABLE dictionary CHANGE calss class VARCHAR(10) DEFAULT NULL;
删除字段
语法:ALTER TABLE 表名 DROP COLUMN 字段名
示例:ALTER TABLE dictionary DROP COLUMN calss;
批量增加字段
bagin; //事务开始
alter table em_day_data add f_day_house7 int(11);
alter table em_day_data add f_day_house8 int(11);
alter table em_day_data add f_day_house9 int(11);
alter table em_day_data add f_day_house10 int(11);
commit; //提交事务,事务结束
数据增删改查
MySQL语句忽略大小写的。每张数据表只能存在一个主键。
Tip: 由于数据表的首个字段名(就是主键,假如是id)是不能重复命名的(建议使用id,因为每张表只能存在一个主键),所以建议删除的时候使用(where id=1)键名来定位匹配更好。
查
var sql = 'SELECT * FROM websites'; --查询整个websites表所有数据
var sql = 'SELECT name FROM websites'; --查询整个websites表name字段数据
增
-- websites表必须存在(Id,name,url,alexa,country)这些字段名
var addSql = 'INSERT INTO websites(Id,name,url,alexa,country) VALUES(2,"taobao","http://wwww.taobao.com","3","CN")';
insert into table1(id,name,url,country) values(6,"lucas","https://wwww.lucas.com","CN");
改
-- where是定位到上面的增加数据(可以使用任何"字段名=值"来匹配),并更改俩个数据
var modSql = 'UPDATE websites SET name = "facebook",url = "http://www.facebook.com" WHERE Id = 2';
var modSql = 'update websites SET alexa="12" where name="taobao"'; --定位name字段为taobao并更新了alexa字段的值
删
var delSql = 'DELETE FROM websites where id=2'; -- 删除id=2的数据(当然)
-- 删除name=lucas的数据(建议使用id,因为每张表只能存在一个主键),因为他会将表中所有name=lucas的值全部删除
delete from websites where name="lucas";
非后端开发Mysql日常使用小结的更多相关文章
- 招聘前端、Java后端开发、测试、Mysql DBA
公司介绍: http://www.lagou.com/gongsi/43095.html http://www.yamichu.com 简历发到: zhuye@yamichu.com 招聘职位: JA ...
- 后端开发实践——Spring Boot项目模板
在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为"第0个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...
- ABP开发框架前后端开发系列---(14)基于Winform的ABP快速开发框架
前面介绍了很多ABP系列的文章,一步一步的把我们日常开发中涉及到的Web API服务构建.登录日志和操作审计日志.字典管理模块.省份城市的信息维护.权限管理模块中的组织机构.用户.角色.权限.菜单等内 ...
- 后端开发实践:Spring Boot项目模板
在我的工作中,我从零开始搭建了不少软件项目,其中包含了基础代码框架和持续集成基础设施等,这些内容在敏捷开发中通常被称为"第0个迭代"要做的事情.但是,当项目运行了一段时间之后再来反 ...
- 同事内推的那位Linux C/C++后端开发同学面试没过......
最近同事内推了一位 Linux C/C++ 后端开发的同学到我们公司面试,我是一面的面试官,很遗憾这位工作了两年的同学面试表现不是很好.我问了如下一些问题: "redis持久化机制,redi ...
- 规范——Java后端开发规范
Java后端开发规范 一.技术栈规约 二.命名规范 三.Java代码规范(注释规范.异常与日志.代码逻辑规范) 四.Mybatis与SQL规范 五.结果检查(单元测试及代码扫描) 六.安全规范 一.技 ...
- Java后端开发——美团(牛客)
Java后端开发--美团(牛客) Java的基本数据类型,各自的字节数 老生常谈,不多说了. 类型 字节数 byte 1字节 short 2字节 int 4字节 long 8字节 float 4字 ...
- 2022美团Java后端开发春招实习面经
2022美团Java后端开发春招实习面经 一面 1.讲一下计算机网络的五层架构,每层分别有什么协议 五层架构:应用层.运输层.网络层.数据链路层.物理层 2.什么是 Http 协议,各种 Ht ...
- 零基础入门 Java 后端开发,有哪些值得看的视频?
目前网络上充满了大量的 Java 视频教程,然而内容却鱼龙混杂,为了防止小伙伴们踩坑,一枫结合自己的学习经验,向大家推荐一些不错的学习资源. 作为一名非科班转码选手,可以说,我是在哔哩哔哩上的研究生! ...
随机推荐
- JS-特效 ~ 01. 事件对象、offset偏移/检测、无缝滚动、自动循环轮播图
Math.round ( ) :正书四舍五入,负数五舍六入 用定时器,先清除定时器 事件对象 event event:事件被触动时,鼠标和键盘的状态,通过属性控制 Offset:偏移,检测 1. 获取 ...
- SpringBoot——HelloWorld
微服务和单体应用的宏观理解 微服务:一组小型应用通过HTTP的方式进行沟通的开发思想 单体应用:ALL IN ONE 单体应用的不足: 随着业务逻辑的不断更新和迭代开发,起初的小型应用会不断膨胀,当应 ...
- Python编译器及Sublime Text3安装及开发环境配置
1.初学Python,你需要一个好的开发编辑器 在选择Python编辑器时,可能纠结于那个Python的版本更好一些,在Python2.x和Python3.x版本中, Python3.x版本更好一些, ...
- springboot使用 @EnableScheduling、@Scheduled开启定时任务
1.在main启动项添加一个注解@EnableScheduling package com.example.springmybatis; import org.mybatis.spring.annot ...
- Mybatis系列(三)XML
Mybatis系列(三)XML 1.pom.xml依赖: <?xml version="1.0" encoding="UTF-8"?> <pr ...
- kubernetes部署jenkins(Docker in Docker)及认证
引言 Jenkins是一款开源 CI&CD 软件,用于自动化各种任务,包括构建.测试和部署软件. 本文将Jenkins的master与slave置于Pod中,部署在namespace:jenk ...
- IntelliJ IDEA远程连接tomcat,实现单步调试
web项目部署到tomcat上之后,有时需要打断点单步调试,如果用的是Intellij idea,可以通过如下方法实现: 开启debug端口,启动tomcat 以tomcat7.0.75为例,打开bi ...
- Nginx的架构及工作流程
NGINX是一个免费的,开源的,高性能的HTTP服务器和反向代理,以及IMAP / POP3代理服务器.NGINX以其高性能,稳定性,丰富的功能集,简单的配置和低资源消耗而闻名,也是为解决C10K问题 ...
- Stanford公开课《编译原理》学习笔记(1~4课)
目录 一. 编译的基本流程 二. Lexical Analysis(词法分析阶段) 2.1 Lexical Specification(分词原则) 2.2 Finite Automata (典型分词算 ...
- python excel to mysql
import sys import xlrd import pymysql import math import json from collections import OrderedDict # ...