数据库用户的操作

登录前需先启动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增删改查的更多相关文章

  1. mysql基础之mariadb对表中数据的增删改查

    复习: 查看表:show tables; 创建表:create table 表名(字符类型); 删除表:drop table 表名; 对表的结构进行增删改查: 查看表结构:desc 表名; 修改表-添 ...

  2. mysql之数据库的介绍和基本的增删改查

    一 学前知识 什么叫做静态页面:用户传入内容后,不能处理用户的请求,只能单纯的显示主页面的信息. 什么是负载均衡:通过计算服务器的性能,将客户发送过来的请求指派给某台服务器.一般还要有一个备份的负载均 ...

  3. shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)

    shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查) Shell脚本与MySQL数据库交互(增删改查) # 环境准备:安装mariadb 数据库 [ro ...

  4. Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示

    Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...

  5. ASP.NET从零开始学习EF的增删改查

           ASP.NET从零开始学习EF的增删改查           最近辞职了,但是离真正的离职还有一段时间,趁着这段空档期,总想着写些东西,想来想去,也不是很明确到底想写个啥,但是闲着也是够 ...

  6. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(9)-MVC与EasyUI结合增删改查

    系列目录 文章于2016-12-17日重写 在第八讲中,我们已经做到了怎么样分页.这一讲主要讲增删改查.第六讲的代码已经给出,里面包含了增删改,大家可以下载下来看下. 这讲主要是,制作漂亮的工具栏,虽 ...

  7. 通过Java代码实现对数据库的数据进行操作:增删改查

    在写代码之前,依然是引用mysql数据库的jar包文件:右键项目-构建路径-设置构建路径-库-添加外部JAR 在数据库中我们已经建立好一个表xs :分别有xuehao  xingming    xue ...

  8. Hibernate全套增删改查+分页

    1.创建一个web工程 2.导入jar包 3.创建Student表 4.创建实体类 package com.entity; public class Student { private Integer ...

  9. 使用 Json.Net 对Json文本进行 增删改查

    JSON 已经成为当前主流交互格式, 如何在C#中使用 Json.Net 对Json文本进行 增删改查呢?见如下代码 #region Create (从零创建) public static strin ...

随机推荐

  1. 如何解决Struts2和Servlet共存问题

    我之前用Servlet写过二维码扫描登录,结果把它整合到ssh框架中,发现Servlet和Struts存在共存问题,这是因为当我们在页面在请求应用时,struts2将会截获所有请求,对于servlet ...

  2. [转]Tomcat中8005/8009/8080/8443端口的作用

    8005:关闭tomcat进程所用.当执行shutdown.sh关闭tomcat时就是连接8005端口执行“SHUTDOWN”命令--由此,我们直接telnet8005端口执行“SHUTDOWN”(要 ...

  3. React 事件对象、键盘事件、表单事件、ref获取dom节点、react实现类似Vue双向数据绑定

    1.案例实现代码 import React, { Component } from 'react'; /** * 事件对象.键盘事件.表单事件.ref获取dom节点.react实现类似Vue双向数据绑 ...

  4. Selenium 2自动化测试实战1(1-2章节重点笔记)

    1.黑盒测试 黑盒测试,指的是把被测的软件看做一个黑盒子,不去关心盒子里面的结构是什么样子的,只关心软件的输入数据和输出结果. 2.白盒测试白盒测试,指的是把盒子打开,去研究里面的源代码和程序执行结果 ...

  5. 使程序在Linux下后台运行,程序运行前后台切换

    一.为什么要使程序在后台执行 我们计算的程序都是周期很长的,通常要几个小时甚至一个星期.我们用的环境是用putty远程连接到日本Linux服务器.所以使程序在后台跑有以下三个好处: 1:我们这边是否关 ...

  6. slideToggle()---单击隐藏/浮现--jQuery--click() 方法

    click() 方法 模块隐藏/浮现 <html> <head> <script type="text/javascript" src="/ ...

  7. 哈希表 HashTable(又名散列表)

    简介 其实通过标题上哈希表的英文名HashTable,我们就可以看出这是一个组合的数据结构Hash+Table. Hash是什么?它是一个函数,作用可以通过一个公式来表示: index = HashF ...

  8. 项目连接oracle报错:listener does not currently know of SID given in connect descriptor

    今天练习用IDEA搭建了一个ssm框架,数据库是oracle,在执行mybatis-generator时,一直报错listener does not currently know of SID giv ...

  9. DSP28335 eCAP 测频

    F28335共有6组eCAP模块,每个eCAP不但具有捕获功能,而且还可用作PWM输出功能.F28335捕获模块的主要特征如下: 1. 150MHz系统时钟的情况下,32位时基的时间分辨率为6.67n ...

  10. 模板if 的使用

    from flask import Flask,render_template app = Flask(__name__) app.debug = True @app.route('/') def h ...