mariadb增删改查
数据库用户的操作
登录前需先启动3306端口。
首次启动需初始化数据库
mysql_secure_installation
增/改:
创建用户及赋予用户指定权限
grant 权限(分为create[创建]、delete[删除]、select[查询]、all[全部权限]) on 数据库.*或者*.* to 用户名@'localhost(只允许本机登录)/%(允许第三方登录)' identified by '密码';
删:
收回用户指定或全部权限
revoke 权限 on 数据库名或*.* from 用户名;
删除用户
drop user 用户名@'localhost';
用:
登录数据库
mysql –u 用户名 –p 密码;
查:
查看指定用户权限
show grants for 用户名;
查看当前登录数据库用户
select user( );
忘记用户密码怎么办
vim /etc/my.conf.d/server/conf 添加 skip-grant-tables
登录无需密码,但登陆后设置密码后需在去配置文件删除添加的内容。
数据库的操作
增:
创建新的数据库
create database 命名;
删:
删除数据库
drop database 数据库名;
用:
进入数据库
use 数据库名;
改:
修改数据装态,让其支持中文
alter database 数据库名 character set utf8;
查:
查看数据库当前状态
show create database 数据库名;
查看库里数据库有哪些
show databases;
数据库内表的操作
增:
创建表要先了解数据类型及约束才可以创建:
类型:
整数:
tinyint 范围 unsigned(0-255) bit(0/1) 位,8位1字节,位由0和1组成。当你把字段设置成了bit,他只能存储两种数据,0或1,一般用来显示真或假。
小数:
decimal decimal(m,n) m指定小数长度,n保留指定小数个数
字符:
varchar(上限数)输入不满上限数按当前占位数计算 char (上限数)输入不满上限数按上限数计算
枚举型 :
enum(选项)
日期:
date 年月日 time 时分秒 year 年 timetamp 时区
约束:
主键: primary key {字段里的数据不能重复,不能为空} 非空: not null {字段里的数据不能为空} 唯一:unique {字段里的数据不能重复} 默认值:default {字段里的数据可以选填默认值} 外键:foreign key {表与表之间的联系用外键}
他的作用是确保记录的完整性
一个表中的某字段可填入数据取决于另一个表中的主键已有的数据。
就是说我有一个表为父表,有一个表为子表,设置外键后,对父表或子表的操作,都影响双方。
自增:auto_increment {自增,意思是自动排序号 他可以填default或0 ,自增是不会回退的,当我删除一条记录,那么我再添加一条进去,就是按AUTO_INCREMENT=值 来插入。
当我删除了id为3的,在定义id为3的记录,是可以的。}
创建表
create table 命名(字段 约束);
删:
删除表
drop table 表名;
改:
对表重命名
alter table 旧表名 rename 新表名;
查:
查看当前数据库有哪些表
show tables;
查看表的字段和对应的约束
desc 表名;
查看指定表的状态
show create table 表名;
字段
增:
添加新字段及其对应的约束
alter table 表名 add 字段名 约束;
删:
删除指定字段
alter table 表名 drop 字段名;
改:
改变指定字段的约束,注意,如果约束有多个,但想指定修改,需把不修改的也补齐才可以进行修改。
alter table 表名 modify 选定修改字段名 旧约束 新约束;
对字段进行重命名并对其规则进行修改,字段修改同上。
alter table 表名 change 旧字段名 新字段名 旧约束 新约束;
查看:
查看指定表上的所有字段
select * from 表名;
查看指定表上的所有字段
select * from 数据库名.表名;
查看指定表上的指定字段
select 字段名,字段名 from 表名;
记录(数据)
增:
指定表插入记录,记住,记录要跟约束走
insert into 表名 values(记录);
让插入的记录实现自增效果
insert into 表名 values (default/0);
让插入的记录实现为空效果
insert into 表名 values (null);
指定字段来插入记录
insert into 表名(字段名) values (记录);
插入多条记录
insert into 表名/表名(字段名) values (记录),(记录);
删:
删除表内所有记录
delete from 表名;
删除表内指定字段的所有记录
delete from 表名 where 字段;
删除表内单条记录
delete from 表名 where id=number;
逻辑删除:就是假删除,打个标记,方便日后好调用,首先要添加bit约束的字段
如果bit不填数值,它默认就是0
alter table 表名 add 字段名 bit约束类型 default 0;
bit(1)有一种可能: 0,1
bit(2)有四种可能:00,01,10,11
对于数据库而言,最大的压力是读。就是查询。
改:
对字段内的所有记录进行修改
update 表名 set 字段名=修改值 where 字段名=原值;
对字段内的单条记录进行修改
update 表名 set 字段名=修改值 where id=number;
对字段内多条记录修改或对多个字段的记录全部修改。
update 表名 ser 字段名=修改值,字段名=修改值 where id=number/字段名=原值 字段名=原值;
查:
条件查询:
定制列举查询,就是现实指定字段的所有记录:
select * from 表名 where 字段>条件 或者 字段<条件 或者 字段=条件;
select 字段名,字段名 from 表名;
字段起别名,就是把字段翻译成中文显示出来:
select 字段 as '翻译',段 as '翻译'from 表名;
给表起别名:
select s.字段,s.字段 from 表名 as s;
消除重复行:
select distinct 字段 from 表名;
模糊查询:
%代表至少一个,至多n个
select * from 表名 where 字段 like '%';
一条下划线代表一个字符
select * from 表名 where 字段 like '_';
范围查询:
指定条件查询,如果没有指定的条件,则查询为空
select * from 表名 where 字段 in (条件);
这是指定什么条件至什么条件之间进行查询
select * from 表名 where 字段 betwwen 条件 and 条件;
取反
select * from 表名 where 字段 not 指定范围/划定范围;
为空记录查询:
select * from 表名where 字段 is null;
不为空记录查询:
select * from 表名 where 字段 is not null;
排序查询:
从小到大排序显示
select * from 表名 order by asc;
从大到小排序显示
select * from表名 order by desc;
聚合函数查询:
查询指定字段指定记录的总和
select count(*) from 表名 where 字段=数值;
查询该字段的最大值
select max(字段)from 表名;
查询该字段的最小值
select min(字段)from 表名;
查询该字段的总和
select sum(字段)from 表名;
查询该字段的平均值
select sum(字段)/count(*)from 表名;
查询该字段的平均值
select avg(字段)from 表名;
查询该字段的平均值,并且保留几位小数
select round(avg(字段),number)from 表名;
分组查询:
显示以该字段的分组
select 字段 from 表名 group by 字段;
显示以该字段的分组,并且显示该分组内的数据总数
select 字段,count(*)表名 group by 字段;
显示以该字段的分组,并且显示分组后对应字段内的指定字段的记录。
select 字段,group_concat(字段) from 表名 group by 字段;
having,也是一个条件语句:
select 字段 from 表名 having 条件;
分页显示:
显示表内指定行数记录
select * from 表名limit number;
以第行记录开头,并且显示几行记录
select * from 表名 limit number,number;
mariadb增删改查的更多相关文章
- mysql基础之mariadb对表中数据的增删改查
复习: 查看表:show tables; 创建表:create table 表名(字符类型); 删除表:drop table 表名; 对表的结构进行增删改查: 查看表结构:desc 表名; 修改表-添 ...
- mysql之数据库的介绍和基本的增删改查
一 学前知识 什么叫做静态页面:用户传入内容后,不能处理用户的请求,只能单纯的显示主页面的信息. 什么是负载均衡:通过计算服务器的性能,将客户发送过来的请求指派给某台服务器.一般还要有一个备份的负载均 ...
- shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)
shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...
- Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示
Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...
- ASP.NET从零开始学习EF的增删改查
ASP.NET从零开始学习EF的增删改查 最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查
系列目录 文章于2016-12-17日重写 在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下. 这讲主要是,制作漂亮的工具栏,虽 ...
- 通过Java代码实现对数据库的数据进行操作:增删改查
在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao xingming xue ...
- Hibernate全套增删改查+分页
1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...
- 使用 Json.Net 对Json文本进行 增删改查
JSON 已经成为当前主流交互格式, 如何在C#中使用 Json.Net 对Json文本进行 增删改查呢?见如下代码 #region Create (从零创建) public static strin ...
随机推荐
- leetcode-easy-listnode-88 Merge Sorted Array-NO
mycode 不会........... 参考 思路:从后往前计算,这样不会覆盖nums1中的有效值 由于 You may assume that nums1 has enough space (si ...
- mysql数据库集群
mysql数据库集群主要有2种常用方案: replication:速度快.弱一致性.适合保存低价值的数据,主要应用于日志.新闻.帖子等系统. PXC:速度慢.强一致性.适合保存高价值的数据,主要应用于 ...
- 全面解读PHP-数据库缓存
一.什么是数据库缓存? 1.定义 mysql等一些常见的关系型数据库的数据都存储在磁盘当中,在高并发场景下,业务应用对mysql产生的增删改查的操作会造成巨大的IO开销和查询压力,这无疑对数据库和服务 ...
- sql总结-----基本查询
创建一个测试表,插入一些测试数据: Create Table Cstable (Id Int,Age Int,Name Varchar2(8),Address Varchar2(20)); Inser ...
- spring中常见注解描述
@Qualifier如果一个接口类有多个实现类,那么可以用@Qualifier指定使用哪个实现类: /** * 定时器,用于处理超时的挂起请求,也用于连接断开时的重连. */ @Autowired @ ...
- Java代码审计-铁人下载系统
初学 java 代码审计,跟着表哥们脚步,走一遍审计流程,就选了个没有使用 Java 框架的 java 系统,作为入门. 目的是为了熟悉代码审计流程,寻找漏洞的思路,入门记录. 准备工作 为了验证审计 ...
- 代码实现:输入三个整数x,y,z,请把这三个数由小到大输出。
import java.util.Arrays; import java.util.Scanner; //输入三个整数x,y,z,请把这三个数由小到大输出. public class Test { p ...
- Solr之java实现增删查操作
1.添加pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=" ...
- SVN的使用和问题解决方法总结
添加仓库之类的很简单,这里就不说了哈...不会的可以问问我,当然百度再快了..嘿嘿 1.从服务器Check Out代码: 2.提交代码: 3.你是不是今天和我一样纠结如何删除已经上传SVN的内容,其实 ...
- 自定义Spring-Boot @Enable注解
Spring-Boot中有很多Enable开头的注解,通过添加注解来开启一项功能,如 其原理是什么?如何开发自己的Enable注解? 1.原理 以@EnableScheduling为例,查看其源码,发 ...