非后端开发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 视频教程,然而内容却鱼龙混杂,为了防止小伙伴们踩坑,一枫结合自己的学习经验,向大家推荐一些不错的学习资源. 作为一名非科班转码选手,可以说,我是在哔哩哔哩上的研究生! ...
随机推荐
- 用户上传gif动图分解成多张帧图片,并合并生成新gif图片
背景 为什么要制作这么一款工具 首先公司最近在做一款表情包的产品,需要将文字生成到gif图片中,并可以控制文字显示的位置,并将不同的文字显示在不同的图片上 制作成网页端工具,随时随地,方便使用 探索 ...
- 代码质量检测(SonarQube)整合中文版+阿里P3C
代码质量检测(SonarQube)整合中文版+阿里P3C 简介 SonarQube是一种自动代码审查工具,用于检测代码中的错误,漏洞和代码异味.它可以与您现有的工作流程集成,以便在项目分支和拉取请求之 ...
- Object和Objects
Object 在Java,Object类是超级父类,是所有类的父类. public boolean equals(Object obj) { return (this == obj); } publi ...
- mapper文件中“添加一条新数据并返回此数据的ID(主键)”的方法
在mapper文件的insert语句前加上<selectKey>标签即可 如下: 添加前测试: 添加后测试:
- 使用openlivewriter编写cnblogs博客
下载OpenLiveWriter 下载地址:http://openlivewriter.org/ 安装OpenLiveWriter 1.账号配置 2.常规操作,省略- 安装高亮插件 1.下载插件:ht ...
- 谈谈你对HTML语义化的理解。
1.什么是HTML语义化? 基本上都是围绕着几个主要的标签,像标题(h1-h6),列表(li),强调(strong em)等. 根据内容的语义化(内容结构化),选择合适的标签(代码语义化),便于开发者 ...
- jquery ajax到servlet出现中文乱码(utf-8编码下)
个人遇到的该问题有两大类: 第一类很普遍,就是jsp页面编码没有规定,servlet中接收参数没有转码,response没有使用setContentType()和setCharacterEncodin ...
- soap get/post请求
pom.xml依赖: <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactI ...
- MySQL二进制日志分析-代码实现(FORMAT_DESCRIPTION_EVENT)
如前文概述,MySQL Binlog v3以前版本, 二进制日志文件的第一个事件是START_EVENT_V3, 从v4版本开始第一个事件为FORMAT_DESCRIPTION_EVENT(以下简称F ...
- Google、百度搜索引擎高级应用6/15
不得不知道的搜索技巧.