精华内容
下载资源
问答
  • 一、练习要求① 创建学生表stu,插入3条记录② 创建报名表sign,插入3条记录③ 创建成绩表stu_mark,插入3条记录④ 创建考上Peking University的学生...对其成绩进行更正⑦ 查看更新后视图和表的情况⑧ 查看视图的创...

    一、练习要求

    ① 创建学生表stu,插入3条记录

    ② 创建报名表sign,插入3条记录

    ③ 创建成绩表stu_mark,插入3条记录

    ④ 创建考上Peking University的学生的视图

    ⑤ 创建考上Tsinghua University的学生的视图

    ⑥ XiaoTian的成绩在录入的时候因录入错误多录了50分,对其成绩进行更正

    ⑦ 查看更新后视图和表的情况

    ⑧ 查看视图的创建信息

    ⑨ 删除创建的视图

    stu表结构

    字段名

    数据类型

    主键

    外键

    非空

    唯一

    自增

    s_id

    INT(11)

    s_name

    VARCHAR(20)

    addr

    VARCHAR(50)

    tel

    VARCHAR(50)

    stu表内容

    s_id

    s_name

    addr

    tel

    1

    XiaoWang

    Henan

    0371-12345678

    2

    XiaoLi

    Hebei

    13889072345

    3

    ZhengGu

    Henan

    0371-1234570

    sign表结构

    字段名

    数据类型

    主键

    外键

    非空

    唯一

    自增

    s_id

    INT(11)

    s_name

    VARCHAR(20)

    s_sch

    VARCHAR(50)

    s_sign_sch

    VARCHAR(50)

    sign表内容

    s_id

    s_name

    s_sch

    s_sign_sch

    1

    XiaoWang

    Middle School1

    Peking University

    2

    XiaoLi

    Middle School2

    Tsinghua University

    3

    ZhengGu

    Middle School3

    Tsinghua University

    stu_mark表结构

    字段名

    数据类型

    主键

    外键

    非空

    唯一

    自增

    s_id

    INT(11)

    s_name

    VARCHAR(20)

    mark

    INT(11)

    stu_mark表内容

    s_id

    s_name

    mark

    1

    XiaoWang

    80

    2

    XiaoLi

    71

    3

    ZhengGu

    70

    二、操作记录

    创建学生表stu,插入3条记录

    mysql> CREATE TABLE stu

    -> (

    -> s_id INT PRIMARY KEY,

    -> s_name VARCHAR(20),

    -> addr VARCHAR(50),

    -> tel VARCHAR(50)

    -> );

    Query OK, 0 rows affected (0.28 sec)

    mysql>

    mysql> INSERT INTO stu

    -> VALUES(1,'XiaoWang','Henan','0371-12345678'),

    -> (2,'XiaoLi','Hebei','13889072345'),

    -> (3,'XiaoTian','Henan','0371-12345670');

    Query OK, 3 rows affected (0.08 sec)

    Records: 3 Duplicates: 0 Warnings: 0

    mysql>

    创建报名表sign,插入3条记录

    mysql> CREATE TABLE sign

    -> (

    -> s_id INT PRIMARY KEY,

    -> s_name VARCHAR(20),

    -> s_sch VARCHAR(50),

    -> s_sign_sch VARCHAR(50)

    -> );

    Query OK, 0 rows affected (0.32 sec)

    mysql>

    mysql> INSERT INTO sign

    -> VALUES(1,'XiaoWang','Middle School1','Peking University'),

    -> (2,'XiaoLi','Middle School2','Tsinghua University'),

    -> (3,'XiaoTian','Middle School3','Tsinghua University');

    Query OK, 3 rows affected (0.07 sec)

    Records: 3 Duplicates: 0 Warnings: 0

    mysql>

    创建成绩表stu_mark,插入3条记录

    mysql> CREATE TABLE stu_mark (s_id INT PRIMARY KEY ,s_name VARCHAR(20) ,mark int );

    Query OK, 0 rows affected (0.24 sec)

    mysql>

    mysql> INSERT INTO stu_mark VALUES(1,'XiaoWang',80),(2,'XiaoLi',71),(3,'XiaoTian',70);

    Query OK, 3 rows affected (0.11 sec)

    Records: 3 Duplicates: 0 Warnings: 0

    mysql>

    创建考上Peking University的学生的视图

    mysql> CREATE VIEW beida (id,name,mark,sch)

    -> AS SELECT stu_mark.s_id,stu_mark.s_name,stu_mark.mark, sign.s_sign_sch

    -> FROM stu_mark ,sign

    -> WHERE stu_mark.s_id=sign.s_id AND stu_mark.mark>=41 AND sign.s_sign_sch='Peking University';

    Query OK, 0 rows affected (0.06 sec)

    mysql>

    创建考上Tsinghua University的学生的视图

    mysql> CREATE VIEW qinghua (id,name,mark,sch)

    -> AS SELECT stu_mark.s_id, stu_mark.s_name, stu_mark.mark, sign.s_sign_sch

    -> FROM stu_mark ,sign

    -> WHERE stu_mark.s_id=sign.s_id AND stu_mark.mark>=40 AND sign.s_sign_sch='Tsinghua University';

    Query OK, 0 rows affected (0.05 sec)

    mysql>

    XiaoTian的成绩在录入的时候因录入错误多录了50分,对其成绩进行更正

    mysql> UPDATE stu_mark SET mark = mark-50 WHERE stu_mark.s_name ='XiaoTian';

    Query OK, 1 row affected (0.06 sec)

    Rows matched: 1 Changed: 1 Warnings: 0

    mysql>

    查看更新后视图和表的情况

    mysql> SELECT * FROM stu_mark;

    +------+----------+------+

    | s_id | s_name | mark |

    +------+----------+------+

    | 1 | XiaoWang | 80 |

    | 2 | XiaoLi | 71 |

    | 3 | XiaoTian | 20 |

    +------+----------+------+

    3 rows in set (0.00 sec)

    mysql> SELECT * FROM qinghua;

    +----+--------+------+---------------------+

    | id | name | mark | sch |

    +----+--------+------+---------------------+

    | 2 | XiaoLi | 71 | Tsinghua University |

    +----+--------+------+---------------------+

    1 row in set (0.00 sec)

    mysql> SELECT * FROM beida;

    +----+----------+------+-------------------+

    | id | name | mark | sch |

    +----+----------+------+-------------------+

    | 1 | XiaoWang | 80 | Peking University |

    +----+----------+------+-------------------+

    1 row in set (0.00 sec)

    mysql>

    查看视图的创建信息

    mysql> SELECT * FROM information_schema.views where table_name = 'beida'\G

    *************************** 1. row ***************************

    TABLE_CATALOG: def

    TABLE_SCHEMA: index_test

    TABLE_NAME: beida

    VIEW_DEFINITION: select `index_test`.`stu_mark`.`s_id` AS `id`,`index_test`.`stu_mark`.`s_name` AS `name`,`index_test`.`stu_mark`.`mark` AS `mark`,`index_test`.`sign`.`s_sign_sch` AS `sch` from `index_test`.`stu_mark` join `index_test`.`sign` where ((`index_test`.`stu_mark`.`s_id` = `index_test`.`sign`.`s_id`) and (`index_test`.`stu_mark`.`mark` >= 41) and (`index_test`.`sign`.`s_sign_sch` = 'Peking University'))

    CHECK_OPTION: NONE

    IS_UPDATABLE: YES

    DEFINER: root@localhost

    SECURITY_TYPE: DEFINER

    CHARACTER_SET_CLIENT: gbk

    COLLATION_CONNECTION: gbk_chinese_ci

    *************************** 2. row ***************************

    TABLE_CATALOG: def

    TABLE_SCHEMA: view

    TABLE_NAME: beida

    VIEW_DEFINITION: select `view`.`stu_mark`.`s_id` AS `id`,`view`.`stu_mark`.`s_name` AS `name`,`view`.`stu_mark`.`mark` AS `mark`,`view`.`sign`.`s_sign_sch` AS `sch` from `view`.`stu_mark` join `view`.`sign` where ((`view`.`sign`.`s_id` = `view`.`stu_mark`.`s_id`) and (`view`.`sign`.`s_sign_sch` = 'Peking University') and (`view`.`stu_mark`.`mark` >= 41))

    CHECK_OPTION: NONE

    IS_UPDATABLE: YES

    DEFINER: root@localhost

    SECURITY_TYPE: DEFINER

    CHARACTER_SET_CLIENT: gbk

    COLLATION_CONNECTION: gbk_chinese_ci

    2 rows in set (0.00 sec)

    mysql> SELECT * FROM information_schema.views where table_name = 'qinghua'\G

    *************************** 1. row ***************************

    TABLE_CATALOG: def

    TABLE_SCHEMA: index_test

    TABLE_NAME: qinghua

    VIEW_DEFINITION: select `index_test`.`stu_mark`.`s_id` AS `id`,`index_test`.`stu_mark`.`s_name` AS `name`,`index_test`.`stu_mark`.`mark` AS `mark`,`index_test`.`sign`.`s_sign_sch` AS `sch` from `index_test`.`stu_mark` join `index_test`.`sign` where ((`index_test`.`stu_mark`.`s_id` = `index_test`.`sign`.`s_id`) and (`index_test`.`stu_mark`.`mark` >= 40) and (`index_test`.`sign`.`s_sign_sch` = 'Tsinghua University'))

    CHECK_OPTION: NONE

    IS_UPDATABLE: YES

    DEFINER: root@localhost

    SECURITY_TYPE: DEFINER

    CHARACTER_SET_CLIENT: gbk

    COLLATION_CONNECTION: gbk_chinese_ci

    *************************** 2. row ***************************

    TABLE_CATALOG: def

    TABLE_SCHEMA: view

    TABLE_NAME: qinghua

    VIEW_DEFINITION: select `view`.`stu_mark`.`s_id` AS `id`,`view`.`stu_mark`.`s_name` AS `name`,`view`.`stu_mark`.`mark` AS `mark`,`view`.`sign`.`s_sign_sch` AS `sch` from `view`.`stu_mark` join `view`.`sign` where ((`view`.`sign`.`s_id` = `view`.`stu_mark`.`s_id`) and (`view`.`sign`.`s_sign_sch` = 'Tsinghua University') and (`view`.`stu_mark`.`mark` >= 40))

    CHECK_OPTION: NONE

    IS_UPDATABLE: YES

    DEFINER: root@localhost

    SECURITY_TYPE: DEFINER

    CHARACTER_SET_CLIENT: gbk

    COLLATION_CONNECTION: gbk_chinese_ci

    2 rows in set (0.00 sec)

    mysql>

    删除创建的视图

    mysql> DROP VIEW beida;

    Query OK, 0 rows affected (0.00 sec)

    mysql> DROP VIEW qinghua;

    Query OK, 0 rows affected (0.00 sec)

    mysql>

    展开全文
  • 概述Oracle数据库创建起来,会创建很多辅助用户,这些用户帐号如果不去修改密码,他们使用的全部是默认密码,有些账号的默认密码已经是公开了的秘密,给数据库的安全带来威胁。那么,我们怎么去知道哪些用户是没...

    概述

    Oracle数据库创建起来后,会创建很多辅助用户,这些用户帐号如果不去修改密码,他们使用的全部是默认密码,有些账号的默认密码已经是公开了的秘密,给数据库的安全带来威胁。那么,我们怎么去知道哪些用户是没改过密码的呢?

    ede6288e802e517fa10d2247011a9a97.png

    1、 常用脚本

    查询出当前使用默认密码的用户帐号和状态等

    SELECT a.username, b.account_status 访问状态,b.LOCK_DATE 锁定时间,b.expiry_date 过期时间,b.created 创建时间 FROM dba_users_with_defpwd aJOIN dba_users b ON a.username = b.usernameORDER BY 1;

    这个也是我比较常用的脚本。

    b86e86f699f602bb2e8719888053a06f.png

    2、修改账号密码

    dba_users_with_defpwd视图只有一个字段“USERNAME”,当对帐号修改密码后,用户账号随即从dba_users_with_defpwd视图中消失

    (1)对APPQOSSYS用户修改密码:

    alter user APPQOSSYS identified by pwdpwdpwd;

    (2)查询APPQOSSYS用户是否使用的默认密码:

    select * from dba_users_with_defpwd where username='APPQOSSYS';
    09f277b9dd2691f164a6bfd4552c6243.png

    这时已经从dba_users_with_defpwd视图中查不到APPQOSSYS用户信息,说明APPQOSSYS帐号已经不使用的默认密码了


    总结:

    Oracle 11g中这个新的视图DBA_USERS_WITH_DEFPWD(显示那些具有缺省口令的用户)的改进告诉了我们:缺省口令是极其危险的!

    觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

    8bdbb2c2b23344653f90d4d56e37fa33.gif
    展开全文
  • 概述Oracle数据库创建起来,会创建很多辅助用户,这些用户帐号如果不去修改密码,他们使用的全部是默认密码,有些账号的默认密码已经是公开了的秘密,给数据库的安全带来威胁。那么,我们怎么去知道哪些用户是没...

    概述

    Oracle数据库创建起来后,会创建很多辅助用户,这些用户帐号如果不去修改密码,他们使用的全部是默认密码,有些账号的默认密码已经是公开了的秘密,给数据库的安全带来威胁。那么,我们怎么去知道哪些用户是没改过密码的呢?

    10ca97d44bd5be2316094af34dabb2dc.png

    1、 常用脚本

    查询出当前使用默认密码的用户帐号和状态等

    SELECT a.username, b.account_status 访问状态,b.LOCK_DATE 锁定时间,b.expiry_date 过期时间,b.created 创建时间 FROM dba_users_with_defpwd aJOIN dba_users b ON a.username = b.usernameORDER BY 1;

    这个也是我比较常用的脚本。

    12be6f04f81063ca30bafd0202428247.png

    2、修改账号密码

    dba_users_with_defpwd视图只有一个字段“USERNAME”,当对帐号修改密码后,用户账号随即从dba_users_with_defpwd视图中消失

    (1)对APPQOSSYS用户修改密码:

    alter user APPQOSSYS identified by pwdpwdpwd;

    (2)查询APPQOSSYS用户是否使用的默认密码:

    select * from dba_users_with_defpwd where username='APPQOSSYS';
    7857d2ce7d3856a020abcf67320772f5.png

    这时已经从dba_users_with_defpwd视图中查不到APPQOSSYS用户信息,说明APPQOSSYS帐号已经不使用的默认密码了


    总结:

    Oracle 11g中这个新的视图DBA_USERS_WITH_DEFPWD(显示那些具有缺省口令的用户)的改进告诉了我们:缺省口令是极其危险的!

    觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

    f76bec41e761cb7654565d98dbe1aa7e.gif
    展开全文
  • 怎么创建查看和删除存储过程呢?存储过程有什么优点? 1.概念:什么是存储过程:类似于函数(方法),简单的说存储过程是为了完成某个数据库中的特定功能而编写的语句集合,该语句集包括SQL语句(对数据的增删改查)...

    存储过程

    MySQL数据库在5.0版本后开始支持存储过程,那么什么是存储过程呢?怎么创建、查看和删除存储过程呢?存储过程有什么优点?

    1.概念:什么是存储过程:类似于函数(方法),简单的说存储过程是为了完成某个数据库中的特定功能而编写的语句集合,该语句集包括SQL语句(对数据的增删改查)、条件语句和循

    环语句等。

    查看现有的存储过程

    show procedure status;

    删除存储过程

    drop procedure 存储过程名称; 

    调用 存储过程

    call 存储过程名称(参数1  参数1类型,参数2  参数2类型);
    例如: call A(x int , y varchar(20))

     

    存储过程优点:
            1、存储过程增强了SQL语言灵活性。存储过程可以使用控制语句编写,可以完成复杂的判断和较复杂的运算,有很强的灵活性;
            2、减少网络流量,降低了网络负载。存储过程在数据库服务器端创建成功后,只需要调用该存储过程即可,而传统的做法是每次都将大量的SQL语句通过网络发送至数据库服务器端然后再执行;
            3、存储过程只在创造时进行编译,以后每次执行存储过程都不需再重新编译,而一般SQL语句每执行一次就编译一次,所以使用存储过程可提高数据库执行速度。
            4、系统管理员通过设定某一存储过程的权限实现对相应的数据的访问权限的限制,避免了非授权用户对数据的访问,保证了数据的安全。

    1、体会封装

    create procedure p1 ()
    begin 
    
    select * from 表;  
    select * from ren;
    
    end

    2、体会参数

    create procedure p2(in m int)           #(in 入参  out 出参   inout 入参出参)   变量 声明变量类型
    begin 
    
    select * from 表 where 条件;
    select * from ren where p_sal > m;
    
    end

    3、体会控制

    create procedure p3(in x int,in c char(1))
    
    begin
    
     if c ='d' then 
        select * from ren where p_sal >x;
    
    elseif 
        select *nmh from ren where p_sal = x;
    
    else 
        select * from ren  where p_sal <x;      
     end if;
    
    end

    4、体会循环

    示例:计算1-100累加的和,并且返回计算结果

    create procedure p4(inout n int)
    
    begin
    declare sum int default 0;  ---- 设置总和变量,并且指定初始值0   (第一种:通过default 设置默认值)
    declare i int;              ---- 声明变量
    set i = 0;                  ---- 通过set为变量设置值(第二种:通过set 给变量 赋值  注意:set赋值,所有的set要放到declare之后(
                                                                        (先声明所有变量,再给所有变量赋值)
    while i<=n DO               ---- 开始循环
    set sum = sum +i;
    set i = i+1;
    end while;                  ---- 结束循环
    select sum;                 ---- 提供结果                 
    set n = sum;                -----将计算结果提供给 输出变量 n;
    end;

    调用:

     -- 调用:
    set @n = 100;                   #@ 保持变量不释放
    call p4(@n);
    select @n;

     

    可能遇到的问题:

    解决办法:decalre 变量 #声明变量要 写在所有代码的前面

    delimiter:

    delimiter //        # mysql遇到";"就立即执行,为了输入多行代码,临时把";"改成其他符号
    
    create procedure p1(in n1 int, inout n3 int, out n2 int)
    begin
        declare temp1 int;          # 声明变量temp1
        declare temp2 int default 0;
    
        select * from v1;
        set n2 = n1 + 100;          # 给n2赋值
        set n3 = n3 + n1 + 100;     # 给n3赋值
    end //
    
    delimiter ;

    视图

    视图概念:
      视图是一个虚拟表,其内容由查询定义。
      同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自定义视图的查询所引用的表,并且在引用视图时动态生成。

    视图好处:
      a、简化表之间的联结(把联结写在select中);
      b、适当的利用视图可以更清晰地表达查询
      c、过滤不想要的数据(select部分)视图能够对机密数据提供安全保护
      d、使用视图计算字段值,如汇总这样的值。

    1、创建视图

    1. create view 视图表  as sql查询语句
    2. CREATE view ren_view as select p_id,p_name,p_age,p_leader from ren;  

    2、使用视图

    select * from 视图表 where 条件;

    3、更新视图数据

    update 视图表 set 字段1='xx' where 条件;
    例子:update ren_view set p_age =99 where p_id = 'p004'; 

    4、删除视图数据 

    delete from 视图表 where 条件;
    例子:delete from ren_view where p_id = 'p010';

    5、删除视图

    drop view 视图表
    例子:drop view ren_view;

    触发器

    触发器(trigger):监视某种情况,并触发某种操作。

    触发器创建语法四要素:

      1.监视地点(table)
      2.监视事件(insert/update/delete)
      3.触发时间(after/before)
      4.触发事件(insert/update/delete)

    1、创建触发器语法

    create trigger triggerName  after/before  insert/update/delete
        on 表名 for each row #这句话是固定的
     
    begin
          
    #需要执行的sql语句
    
    end

    注意1:after/before: 只能选一个 ,after 表示 后置触发, before 表示前置触发
    注意2:insert/update/delete:只能选一个

     

    示例: 创建 goods order_table 表

    # 商品表
    create table goods(
    id int primary key auto_increment,
    name varchar(20),
    num int
    );
    
    #订单表
    create table order_table(
    oid int primary key auto_increment,
        gid int,
        much int
     
    );

    插入数据 : 步骤 略.......

    创建触发器:(监视插入)
    (新插入订单信息)

    create trigger tg1 after insert on order_table for each row
    begin 
     
     update goods set num = num-new.much  where id = new.gid;
    
    end 
    ##对于insert而言,新插入的行用new来表示,行中的每一列的值用new.列名来表示。

    现在插入一条订单信息:

    insert into order_table(gid,much) values(2,3)       #(num = new.3 where id = new.2)

    衣服数量由5变成2

    -----

    修改和删除类似

    修改:

    create trigger tg1 after update on order_t for each row
    begin
    update goods set num=num + old.much - new.much where gid = new.gid;
    
    end
    
    update order_t set much=5 where oid=3;

     

    删除:

    create trigger tg1 after delete on order_t for each row
    begin 
     
     update goods set num = num + old.much  where gid = old.gid;
    
    end 
    
    delete from order_t where oid=3;

    删除触发器:

    drop trigger triggerName;
    例子:drop trigger tg1;

    函数

    MySQL提供的内建函数

    sum
    min
    max
    char_length
    concat
    concat_ws
    substring
    conv
    at
    # 等等。。。

    1、字符串长度:

    select char_length(str);
            select char_length('中国');        # 长度  2         字符
    select length(str);
            select length('中国');                 #长度  6          字节

    2、字符串拼接:

    select concat(str1,str2,..);           #  (主要用在数据库迁移上)
            select concat('a','中国',1);           #   a中国1
            select concat('a','中国',1,null);           #  null   PS:如果有任何一个参数是Null, 则返回null

    -

    select concat_ws(separator,str1,str2,...)       # separator 代表分隔符   (自定义连接符)
            select concat_ws('*','a','中国',1);            # a*中国*1
            select concat_ws('*','a', ' ' ,1);                 # a**1      PS:如果有 '  ' 空字符串,  不会忽略
            select concat_ws('*','a',null,1);                # a*1      PS:如果有 null ,会忽略所有的 null

    3、字符串截取:

    select substring();
    
      select substring(str, pos)  #pos 起始位置
        select substring('hellworld' , 2);       # ellworld
      select substring(str from pos)
        select substring('hellworld' from 2);       # ellworld
      select substring(str, pos, len)    #len 返回的长度
        select substring('hellworld', 2, 4);         # ellw
      select substring(str from pos for len)
        select substring('hellworld' from 2 for 4)  # ellw
      注意:这4个其实就是2个,  带from 和 for 的是标准SQL语法
    
       pos:负值   从后面计算 起始位置
        select substring('hellworld' from -2);              # orld
        select substring('hellworld' from -4 for 3)         # orl

    4、进制转换:

    select conv(N,from_base,to_base)                   # N:将要被转换的 进制数   from_base:当前进制     to_base:目标进制
    
      select conv(10,10,2)            #1010
      select conv('A',16,2)           #1010

    5、格式化输出:

    select at(X,D)      # X:数字    D:保留位数
    
      select at(5555.5555,2)          #5,555.56       PS: 四舍五入    保留2位
      select at(5555.5555,0)          #5,556            PS: 四舍五入    保留0位
      PS:将结果以字符串的形式返回

    6、指定位置替换字符串:

    select insert(str,pos,len,newstr)
    
        str: 在 str 中插入
        pos:从第几个位置开始替换(起始位置)
        len:替换的长度(打算替换掉几个字符)
        newstr:替换的新字符串
                select insert('helloworld',2,8,'www')       # hwwwd   PS:从第2个位置开始,把elloworl  8个字符串替换 成新的 www
                select insert('helloworld',2,100,'www')     #hwww       PS:100个长度,本来就只有9个字符,超出就按完全替换
                select insert('helloworld',100,8,'www')     #helloworld     PS:起始位置超出字符串本身长度,就插入不了,返回还是原字符串
    
        特别的:
            如果pos超过原字符串长度,则返回原字符串
            如果len超过原字符串长度,则由新字符串完全替换

    7、打印当前日期时间:

    select curdate()            # 2016-12-13
    select curtime()            # 19:08:36
    select now()                 # 2016-12-13 19:08:43

    8、根据 fromat字符串 格式化date值:

    select date_at( date , at )
    
        select date_at('2009-10-04 22:23:00', '%W %M %Y')                   # Sunday October 2009
        select date_at('2009-10-04 22:23:00', '%Y年%m月%d')                       # 2009年10月04
        select date_at('2009-10-04 22:23:00', '%D %y %a %d %m %b %j')       # 4th 09 Sun 04 10 Oct 277
    
        at字符串  中可以加入汉字
        select date_at(now(),'%Y年%m月%d')            #2017年11月5
    select date_format(ctime,'%Y年%m月%d日%k时%I分%s秒') from users;

    https://blog.csdn.net/kangbrother/article/details/7030304
    更多函数: 官方猛击这里

    INSTR(str,substr)   # 返回字符串 str 中子字符串的第一个出现位置。
    
    LEFT(str,len)   #  返回字符串str 从开始的len位置的子序列字符。
    
    LOWER(str)   # 变小写
    
    UPPER(str)   # 变大写
    
    LTRIM(str) #   返回字符串 str ,其引导空格字符被删除。
    
    RTRIM(str)   # 返回字符串 str ,结尾空格字符被删去。
    
    SUBSTRING(str,pos,len)   # 获取字符串子序列
    
    LOCATE(substr,str,pos)   # 获取子序列索引位置
    
    REPEAT(str,count)   # 返回一个由重复的字符串str 组成的字符串,字符串str的数目等于count 。
                  # 若 count <= 0,则返回一个空字符串。
                  # 若str 或 count 为 NULL,则返回 NULL 。
    
    REPLACE(str,from_str,to_str)   # 返回字符串str 以及所有被字符串to_str替代的字符串from_str 。
    
    REVERSE(str)   # 返回字符串 str ,顺序和字符顺序相反。
    
    RIGHT(str,len)   # 从字符串str 开始,返回从后边开始len个字符组成的子序列
    
    SPACE(N)   #  返回一个由N空格组成的字符串。

     

    select rand()      # 0--1之间随机一个数字          加入数字

     

    转载于:https://www.cnblogs.com/zhzhlong/p/9301069.html

    展开全文
  • C4D样条怎么画的横平竖直,样条怎么画直线 答案: 正常C4D不能像ps那样按住shift画直线的,但是有个很好用的办法就是开启引导线捕捉。 先启用捕捉,再启用引导线捕捉、动态引导线、垂直引导线。 这个时候不仅...
  • 1、打开插入图片的文档,点击切换到“视图”标签,点击“宏”-查看宏2、在宏设置对话框,给这个宏起个名字,然后点击右侧的“创建”按钮3、打开VBA编辑器,用找到的代码粘贴替换默认的代码:Sub SetPicSize() '设置...
  •  要查看调用或被调用图,只需要在树视图中选择一个成员,访问Tools菜单,选择Call Graph或Callee Graph选项即可。Call Graph会列出所选项所调用的成员,而Callee Graph列出调用所选项的成员。  通过使用插件,...
  • 最近有好多人问我Visual Studio2017怎么使用,我在此从简单的创建项目开始说明一下怎么...创建查看解决方案资源管理器,没有出现的话依次点击:左上角工具栏中:视图-&amp;gt;解决方案管理器。这时源文...
  • 搭建SpringMVC环境

    2020-11-09 20:35:35
    1. 作用 一个表现层框架, 从请求中接收传入的参数, 将处理的结果数据返回给页面展示. 2. MVC是什么 M代表模型(Model): 模型就是数据,就是 dao,bean. V代表视图(View): 视图...不知道怎么创建WEB项目的可以查看
  • 完成后查看测验结果 重置为测验的开始 返回甲板视图 如果用户当天未完成至少一项测验,则每天晚上8点收到通知 :rocket: 怎么跑 确保已安装和配置了Expo以及iOS和Android模拟器 使用yarn install安装软件包 运行yarn...
  • 我在弄ios中的sqlite3数据库,明明创建了数据库,却不知道怎么找到模拟器中db.sqlite3的数据文件。用火狐的sqlitemanager就可以视图化的查看了,可是苦于没有找到db.sqlite3的文件。经查发现,有时MAC系统把资源库中...
  • 我在弄ios中的sqlite3数据库,明明创建了数据库,却不知道怎么找到模拟器中db.sqlite3的数据文件。用火狐的sqlitemanager就可以视图化的查看了,可是苦于没有找到db.sqlite3的文件。经查发现,有时MAC系统把资源库中...
  • sql总结.doc

    2019-08-27 22:08:51
    1、索引 ·什么是索引 ·索引的基本原理 ·索引的基本写法 ·索引的分类 ... 比如你判断一个班上的同学数学成绩怎么样,你就可能用游标,先把全部的成绩查询到游标中,之后再循环一条条进行判断处理。
  • 运行不显示在OnDraw中画的直线,查看之后发现是坐标系的问题,将OnInitialUpdate函数中的MM_LOENGLISH修改为MM_TEXT即可显示出直线。 但是我想应用MM_LOENGLISH,请问应该怎么修改,才能正常显示?(我尝试过修改...
  • db2-技术经验总结

    2017-10-11 14:30:41
    1.58. 怎么样获取表结构以及索引的信息 82 1.59. 如果怀疑应用程序有死锁现象,如何确认是否死锁,并判断是哪些程序引起的死锁? 84 1.60. 数据库创建以后相关的目录和文件都有哪一些? 85 1.61. 自增列(IDENTITY) 86...
  • orcale常用命令

    2009-08-04 00:34:59
    查看创建视图的select语句 SQL>set view_name,text_length from user_views; SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的大小 SQL>select text from user_views where view_name=...
  • 3.9.2 在注销运行进程 56 3.9.3 在后台执行进程 56 3.9.4 用kill命令终止进程 56 3.10 UNIX系统管理和Oracle DBA 57 3.10.1 UNIX的备份和恢复实用程序 57 3.10.2 crontab和Automating脚本 57 3.10.3...
  • 用户只需指出“做什么”,而不需指出“怎么做”,对数 据存取路径的选择以及 语句功能的实现均由系统自动完成,与用户编制的应用程序与 具体的机器及关系 的实现细节无关,从而方便了用户,提高了应用程序的开发效率,...
  • 说明:该语句创建一个空的数据库,后面创建的表、视图、索引等数据字典信息均存放在该数据库下。 (2)数据库模式删除语句格式: drop schema <数据库名>; 说明:该语句删除一个数据库,包括数据库本身、属于该数据库...
  • 转换为网页格式的操作手册中文版> 目录 译者序 前言 序言 读者 怎样阅读本书 本书约定 排版习惯 图标 本书组织结构 Subversion 1.1的新特性,svn客户端和linux下命令行。 目录 1. 简介 1.1. 什么是 TortoiseSVN...
  • 深入浅出MySQL数据库开发、优化与管理维护

    千次下载 热门讨论 2014-01-21 15:48:01
     11.2.1 创建或者修改视图   11.2.2 删除视图   11.2.3 查看视图   11.3 小结   第12章 存储过程和函数   12.1 什么是存储过程和函数   12.2 存储过程和函数的相关操作   12.2.1 创建、修改...
  • 3.Total Uninstall 创建后安装系统快照。它将与预安装快照进行对比,产生安装日志。 卸载: 1.可创建系统恢复点 2.可创建要卸载程序的副本。 3.如果认为需要,则启动程序自带的卸载程序 4.使用在监视安装期间检测到...
  • Visual Studio程序员箴言中文扫描PDF

    热门讨论 2010-12-28 01:04:18
    技巧5.31 创建可在不同任务列表类别之间进行导航的键盘快捷键(使用视图.下一任务和视图.上一任务) 123 5.1.5 对象浏览器 124 技巧5.32 使用ctrl+alt+j键打开“对象浏览器”窗口 124 技巧5.33 在“对象浏览器...
  •  要查看调用或被调用图,只需要在树视图中选择一个成员,访问Tools菜单,选择Call Graph或Callee Graph选项即可。Call Graph会列出所选项所调用的成员,而Callee Graph列出调用所选项的成员。  通过使用插件,...
  •  要查看调用或被调用图,只需要在树视图中选择一个成员,访问Tools菜单,选择Call Graph或Callee Graph选项即可。Call Graph会列出所选项所调用的成员,而Callee Graph列出调用所选项的成员。  通过使用插件,...
  •  要查看调用或被调用图,只需要在树视图中选择一个成员,访问Tools菜单,选择Call Graph或Callee Graph选项即可。Call Graph会列出所选项所调用的成员,而Callee Graph列出调用所选项的成员。  通过使用插件,...

空空如也

空空如也

1 2 3 4
收藏数 77
精华内容 30
关键字:

创建视图后怎么查看