mariadb DML语句及用户授权
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语句及用户授权的更多相关文章
- Mariadb/MySQL数据库单表查询基本操作及DML语句
Mariadb/MySQL数据库单表查询基本操作及DML语句 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一数据库及表相关概述 1>.数据库操作 创建数据库: CREATE ...
- SQL server 语句新建用户、对用户授权、删除用户实例
Grant select on tb to db_user --给db_user用户授权 tb表 查询权限 一.命令操作 USE mydb GO --1. 新建测试用户 --1.1 添加登录用户和密码 ...
- MySQL for OPS 01:简介 / 安装初始化 / 用户授权管理
写在前面的话 取这个标题的目的很简单,MySQL 在中小型企业中一般都是由运维来维护的,除非数据很重要的公司可能会聘请 DBA. 但是运维一般存在由于所需要了解的东西很多很杂,导致学习过程中很多东西只 ...
- Oracle起步---创建临时表空间/表空间/创建用户/授权
1. 安装: 百度一下你就知道 2. sqlplus登录/sqlplus命令登录 在安装Oracle时,你需要记住设置的“全局数据库名”(默认为orcl) 和 口令,在以两种方式登录时: 用户名: s ...
- 详解MySQL---DDL语句、DML语句与DCL语句
背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库 ...
- Oracle创建用户并给用户授权查询指定表或视图的权限
MSV31账户登录数据库进行如下操作: CREATE USER NORTHBOUND IDENTIFIED BY NORTHBOUND DEFAULT TABLESPACE "TBS_DN ...
- MySQL中用户授权/删除授权的方法
用户授权方法 你可以通过发出GRANT语句增加新用户: 代码如下 复制代码 shell> mysql --user=root mysql mysql> GRANT ALL PRIVILE ...
- MySql添加用户,新建数据库,用户授权,删除用户,修改密码
转自:http://www.cnblogs.com/fly1988happy/archive/2011/12/15/2288554.html MySql中添加用户,新建数据库,用户授权,删除用户,修改 ...
- oracle 建表空间->创建用户并把表空间分配给用户->给用户授权->导库
首先注意:我参考网上使用的sysdba模式(normal)登陆的,其他的模式建不了用户(个人没有进行其他模式的表空间尝试,如有人尝试欢迎补充,感激不尽) 表空间相当于表的容器(一下所有的操作都适用于o ...
随机推荐
- eclipse快捷键使用
Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率.Eclipse中有如下一些和编辑相关的快捷键.1. [ALT+/]此快捷键为用户编辑的好帮手,能为用户提供内容的 ...
- Android中通过广播方式调起第三方App
今天紧急的跟进一个百度视频App无法调起百度贴吧App的问题,当然,这个是只发现是在4.x的android系统下发生,在2.x版本下,一切正常,(其实是3.1及以上的版本都有问题)具体场景为: 1.贴 ...
- CCombobox AddString出错
1.CComboBox放在对话框构造函数中, 这时CCombobox对象还没建立, 所以出错, 应该放在OnInitDialog()中初始化. 2. 使用的vs2005以上的IDE, 拖拉控件, 添加 ...
- Beginning SDL 2.0(1) SDL功能简介
原文链接为 http://wiki.libsdl.org/Introduction. 由于近期整理音视频可视化的技术,发现好久不更新的SDL发布了2.0版本,以前也没有过于关注,这里准备尝试下.了解S ...
- 关于AS3获取当前URL和浏览器信息
原文链接: http://www.baidu.com/link?url=8-mS_wTlQi5MGvLQ8Oqf34wA-glS4roi0AmMswussY3kpkXoVUnOQQOaj-NGf2Ik ...
- C# ref和out的区别
首先:两者都是按地址传递的,使用后都将改变原来参数的数值. 其次:ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所 ...
- IOS thread1:exc_bad)access(code=exc_1386_gpflt)错误
这种错误通常是内存管理的问题,一般是访问了已经释放的对象导致的,可以开启僵尸对象(Zombie Objects)来定位问题: 在Xcode的菜单: Product->Scheme->Edi ...
- 洛谷P1458 顺序的分数 Ordered Fractions
P1458 顺序的分数 Ordered Fractions 151通过 203提交 题目提供者该用户不存在 标签USACO 难度普及- 提交 讨论 题解 最新讨论 暂时没有讨论 题目描述 输入一个 ...
- telnet localhost 8089 ==》》命令使用
GET /ccc/abc.html HTTP/1.1 host:localhost 客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式, HTTP协议用于定 ...
- 常用思科设备图标(JPG+矢量图)
常用思科设备图标 在制作网络拓扑图示时我们利用MS Visio或亿图图示等制图软件自带的网络设备绘制拓扑图感觉提供的设备图标非常有限,往往不满足我们的要求,这时就常需要找一些思科的设备图标,在网上到处 ...