- 分支条件语句
- case Ssex when ‘男’ then ‘帅哥’ wheen ‘女’ then ‘美女’ else ‘不明’ end
- case Ssex when ‘男’ then ‘帅哥’ when ‘女’ then ‘美女’ end
- case when Ssex=‘男’ then ‘帅哥’ when Ssex=‘女’ then ‘美女’ else ‘不明’ end
- select char_length(‘南大通用数据’)执行结果是6,函数返回值是字符个数
- 关于NULL
- null值表示“没有数据”,值未知,值不确定,不占空间
- null的拼写,大小写无关
- null和unknown是等价的
- 统计2012(含)年后出生的学生的语句
- select SId,Sname,Sage from student where Sage>=to_date(‘2012-1-1’,‘YYYY-MM-DD’);
- where条件中使用函数尽量在值上,不要在字段上使用函数,这样少执行函数次数,提高性能。
- 字符串连接语句
- select ‘我已使用’ || 20 || ‘天GBase 8a’
- select concat(‘我已使用’,20,‘天GBase 8a’)
- select concat(‘我已使用’,‘20’,‘天GBase 8a’)
- +号为数据相加,没有字符串拼接的功能
- 数据库字符集是utf8,select length(‘南大通用数据’)执行结果:18
- length()函数返回值是字节个数,默认是utf8字符集,一个汉字为3个字节存储
- select last_day(‘0000-12-1’)运行的结果是null
- '0000-12-1’不是一个正确的日期,返回值为null
- create user bizMan identified by 'x’创建的bizMan用户可访问的客户端:
- 任意主机
- 新建用户bizMan赞同于bizMan@$,任意主机均可登录
- 收回表插入数据语句:
- revoke insert(ID) on courseware.test01 from bizMan@loacalhost;
- revoke 后面用from关键词,表级权限需写明具体的数据库名称
- GBase 8a的权限级别包括:
- 全局级
- 数据库级
- 表级
- 列级
- 过程级
- GBase 8a数据库用户名称大小写敏感
- 授权语句
- grant select on courseware.* to bizMan@localhost (正确)
- grant select on * to bizMan@localhost 错误在于只有一个*
- grant select courseware.* to bizMan@localhost 错误在于缺少on关键词
- greant select on courseware.* to user bizMan 错误在于多了user
- 授予表插入数据权限的语句
- grant insert(ID) on courseware.test01 to bizMan@localhost;
- grant insert(“ID”) on coureseware.test01 to bizMan@localhost;
- grant insert(“ID”) on courseware.test from bizMan@localhost; 错误在于grant后面的关键词应该是to
- grant insert(“ID”) on *.test01 to bizMan@localhost; 错误在于表级权限在数据库级权限下,需写明具体的数据库
- All是一个特殊权限,不包含 grant option 给其他用户授权权限
- 授予用户权限组权限的语句
- grant “role1” to bizMan@localhost;
- grant role1 to bizMan@localhost;
- grant后面用to关键词,用户级加双引号,认为是数据库对象,要是单引号,则会认为是字符串
- 回收用户的role权限的语句
- revoke role1 from bizMan@localhost;
- revoke “role1” from bizMan@localhost;
- revoke后面用from关键词,用户组加双引号,认为是数据库对象,要是单引号,则会认为是字符串
- gbase.nodedatamap表存储哈希键值与nodeid的对应关系,gbase 8a数据库引擎根据计算出的hash值确定数据存储在哪个节点上;
- student表分片有一个副本,等价于select count(*) from student 的语句:
- select count(1) from student;
- select table_schema,table_name,table_rows/2 from performance_schema.table where table_schema=‘courseware’ and table_name=‘student’;
- count(*)与count(1)都表示总条数;
- performance_schema.tables保存的是所有分片的表条数,由于有一个副本,2倍数据,需要table_rows除以2;
- 获取用户组role和用户user关系信息需要查询gbase.role_edges系统表
- 和show variables like 'gbase_sql%'等价的语句 select variable_name,variable_value from information_schema.globa_variables where variable_name like ‘gbase_sql%’;
- 显示当前数据库版本:select version();
- 中止连接当前执行的语句,但是不中止连接本身的语句:kill query 3789
- 查看正在运行的线程,与show processlist等价的语句select id,user,host,db,command,time,state,info from infomation_schema.processlist;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。