暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8a 学习笔记 020 —— 学习集锦5

心有阳光 2023-03-15
734
  • 分支条件语句
    • 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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论