DML(Data Manipulation Language):INSERT, DELETE, UPDATE, SELECT

    INSERT  [INTO]  tbl_name  [(col1,...)]  {VALUES|VALUE}  (val1, ...),(...),...

假如有上面这张表

插入一行数据:insert students values(1,'xijinping',51,'zhonglanhai','m');  字符串必须加引号,数字不能加引号

同时插入多行数据:insert students (id,name) values (2,'hujingtao'),(3,'jiangzeming');

SELECT:

查看一张表的全部字段:select * from students;

只查看指定的字段:select id,name from students;

将字段id取个别名:select id as stuid,name from students;

WHERE clause:用于指明挑选条件

    col_name 操作符 value, 例如:age > 30

    操作符(1) :>, <, >=, <=, ==, !=

    例如:select * from students where id=1;

select * from students where name='jiangzemin';    注意:后面的字符串要加引号,是否区分大小写,取决于字符类型,如果是

binary或者varbinary则区分大小写,char或者varchar则不需要区分大小写

组合条件:or,and,not

  select name,age from students where age>=30 and age<=50;

  select name,age from students where age between 30 and 50; 跟上面的语句是一个意思

操作符 :BETWEEN ...  AND ...    LIKE 'PATTERN'  RLIKE  'PATTERN'(正则表达式对字符串做模式匹配)   IS NULL  

IS NOT NULL

    select name from students where name like '%ji%';  注意像like,rlike这种查询方式性能极低

    %:任意长度的任意字符  _:任意单个字符

    select name from students where name rlike 'min$';

    select name,age from students where age is null;

    select id,name from students order by name;  根据name字段中的第一个字母排序,默认升序,加desc改为降序

注意其实执行DML语句首先都执行了select查询

  

DELETE:删除是相对应于行的

     (1) DELETE  FROM  tbl_name  WHERE where_condition

     (2) DELETE  FROM  tbl_name  [ORDER BY ...]  [LIMIT row_count]

       delete from students; (删除表的所有行)

     delete from students where age is null;

技巧      1. 快速创建相同结构的表,包括索引:MariaDB [test1]> create table a like students;

    2.快速创建一个相同结构的表,但是不创建索引:MariaDB [test1]> create table b select * from students limit 0;

    

[root@localhost ~]# for i in {1..100}; do AGE=$[$RANDOM%100]; mysql -e "insert test1.a (id,name,age) values

($i,\"stu$i\",$AGE);"; done    为a这张表加入一些数据

    delete from a order by age desc limit 20;

UPDATE:

    update a set age=age-5 order by id desc limit 10;

    update a set age=age-5 where name not like 'stu__';

用户账号及权限管理:

    用户账号:'username'@'host'

    禁止检查主机名:在my.cnf配置文件中的[mysqld]段添加skip_name_resolve = ON  一般都得添加此选项以提升性能

    创建用户账号:CREATE  USER   'username'@'host'  [IDENTIFIED BY  'password'];

    例如:create user 'testuser'@'192.168.%.%' identified by 'testpass'; 记得刷新用户授权表flush privileges;

    删除用户账号:DROP USER  'user'@'host' [, user@host] ...

    例如:drop user 'testuser'@'192.168.%.%';

查看用户授权表命令:select * from mysql.user\G

    

授权:GRANT  priv_type,...  ON  [object_type]  db_name.tbl_name  TO  'user'@'host'  [IDENTIFIED BY  'password'];

  例如:grant select,insert on test1.students to 'testuser'@'192.168.%.%';

查看指定用户所获得的授权:SHOW GRANTS FOR  'user'@'host';    SHOW GRANTS FOR CURRENT_USER;

回收权限:REVOKE  priv_type, ...  ON  db_name.tbl_name  FROM  'user'@'host';

     例如:revoke insert on test1.students from 'testuser'@'192.168.%.%';

注意:MariaDB服务进程启动时,会读取mysql库的所有授权表至内存中

(1) GRANT或REVOKE命令等执行的权限操作会保存于表中,MariaDB此时一般会自动重读授权表,权限修改会立即生效

(2) 其它方式实现的权限修改,要想生效,必须手动运行FLUSH PRIVILEGES命令

mariadb安装完后密码是空的,这是不安全的,看下图;

可以使用该命令完成root密码设定:[root@localhost ~]# mysql_secure_installation

   

    

    

    

    

      

mariadb DML语句及用户授权的更多相关文章

  1. Mariadb/MySQL数据库单表查询基本操作及DML语句

    Mariadb/MySQL数据库单表查询基本操作及DML语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一数据库及表相关概述 1>.数据库操作 创建数据库: CREATE ...

  2. SQL server 语句新建用户、对用户授权、删除用户实例

    Grant select on tb to db_user --给db_user用户授权 tb表 查询权限 一.命令操作 USE mydb GO --1. 新建测试用户 --1.1 添加登录用户和密码 ...

  3. MySQL for OPS 01:简介 / 安装初始化 / 用户授权管理

    写在前面的话 取这个标题的目的很简单,MySQL 在中小型企业中一般都是由运维来维护的,除非数据很重要的公司可能会聘请 DBA. 但是运维一般存在由于所需要了解的东西很多很杂,导致学习过程中很多东西只 ...

  4. Oracle起步---创建临时表空间/表空间/创建用户/授权

    1. 安装: 百度一下你就知道 2. sqlplus登录/sqlplus命令登录 在安装Oracle时,你需要记住设置的“全局数据库名”(默认为orcl) 和 口令,在以两种方式登录时: 用户名: s ...

  5. 详解MySQL---DDL语句、DML语句与DCL语句

    背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库 ...

  6. Oracle创建用户并给用户授权查询指定表或视图的权限

    MSV31账户登录数据库进行如下操作: CREATE USER NORTHBOUND IDENTIFIED BY NORTHBOUND  DEFAULT TABLESPACE "TBS_DN ...

  7. MySQL中用户授权/删除授权的方法

    用户授权方法 你可以通过发出GRANT语句增加新用户:  代码如下 复制代码 shell> mysql --user=root mysql mysql> GRANT ALL PRIVILE ...

  8. MySql添加用户,新建数据库,用户授权,删除用户,修改密码

    转自:http://www.cnblogs.com/fly1988happy/archive/2011/12/15/2288554.html MySql中添加用户,新建数据库,用户授权,删除用户,修改 ...

  9. oracle 建表空间->创建用户并把表空间分配给用户->给用户授权->导库

    首先注意:我参考网上使用的sysdba模式(normal)登陆的,其他的模式建不了用户(个人没有进行其他模式的表空间尝试,如有人尝试欢迎补充,感激不尽) 表空间相当于表的容器(一下所有的操作都适用于o ...

随机推荐

  1. 老师你好。使用cordova生成的hellowold 的安卓5.0版本太高。怎么才可以生成4.4的呢?

    你好 在你的应用目录,有个config.xml文件,课程没有介绍每个配置项.你可以增加一项 preference name="android-targetSdkVersion" v ...

  2. 理论沉淀:隐马尔可夫模型(Hidden Markov Model, HMM)

    理论沉淀:隐马尔可夫模型(Hidden Markov Model, HMM) 参考链接:http://www.zhihu.com/question/20962240 参考链接:http://blog. ...

  3. [HDU 2602]Bone Collector ( 0-1背包水题 )

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2602 水题啊水题 还给我WA了好多次 因为我在j<w[i]的时候状态没有下传.. #includ ...

  4. (转)C#使用Mysql记录

    (1)首先需要下载C#访问MySQL数据库的ADO.NET驱动程序 http://dev.mysql.com/downloads/connector/ 我下载的版本为: mysql-connector ...

  5. kylin一种OLAP的实现

    1.基于hive.hadoop的预先计算. 2.cube存储在HBASE里面.利用HBase的列存储,实现MOLAP 3.在cube上做数据分析,kylin实现标准的SQL,实现查询HBase 所以说 ...

  6. 《Head First 设计模式》ch.3 装饰(Decorator)模式

    设计原则 类应该对修改关闭,对扩展开放(开放-关闭原则).在每个地方使用开放-关闭原则是一种浪费,也没有必要,因为这通常会引入新的抽象层次,增加代码复杂度.需要把注意力集中在设计中最有可能改变的地方. ...

  7. 网站注册(css)

    <! DOCTYPE HTML><html><head><meta charset="utf-8"><title>作业2 ...

  8. 关于NopCommerce3.6版的@Html.Widget(“home_page_top”)的说明

    以首页幻灯片为例子,首页幻灯片是在插件Nop.Plugin.Widgets.NivoSlider里面实现的 首页视图位置 这里其实是加载插件里面的视图内容,具体实现在插件实现 这个是扩展方法,就是执行 ...

  9. 请添加 MIME 映射

    HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序.如果应下载文件,请添加 MIME 映射. 以管理员运行命令:C:\Wind ...

  10. -(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event

    在有全屏侧滑的情况下,页面上有个slider需要左右滑动的时候,经常在滑动slider的时候页面也跟着滑动                解决办法一:关闭当前页面的全屏侧滑,开启系统侧滑   self ...