@MRsunhuimin
2020-08-30T13:05:04.000000Z
字数 2028
阅读 197
MySQL数据库
https://www.cnblogs.com/bbliutao/archive/2017/11/08/7804263.html
在标准 SQL 中,字符串使用的是单引号。
如果字符串本身也包括单引号,则使用两个单引号(注意,不是双引号,字符串中的双引号不需要另外转义)。
但在其它的数据库中可能存在对 SQL 的扩展,比如在 MySQL 中允许使用单引号和双引号两种。
字符串指用单引号'或双引号"引起来的字符序列。例如:
‘a string’
“another string”
如果SQL服务器模式启用了NSI_QUOTES,可以只用单引号引用字符串。用双引号引用的字符串被解释为一个识别符。
字符串类型的char,nchar,varchar,nvarchar,text,ntext都要加引号
日期类型也要加引号,
数值型,逻辑型的不用加引号.
varchar,char,nvarchar,nchar,text,ntext,datetime都需要加单引号
int,numeric,bit不需要加
https://www.cnblogs.com/jmbky/p/8127214.html
删除表
--xx是数据表的名字
作用:删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。 drop table test,就是把整个表 移除.里面的数据都消失
作用:删除内容、释放空间但不删除定义。与drop不同的是,他只是清空表数据而已,不删除表结构。
作用:也是删除整个表的数据,但是过程是痛苦的(系统一行一行地删,效率较truncate低) 或delete table tb where 条件
删除内容不删除定义,不释放空间。
用delete删除 数据,然后添加。可以看到添加之后id标识不连续。(说明delete删除不释放空间)
1. truncate table 在功能上与不带 WHERE 子句的 delete语句相同:二者均删除表中的全部行。
2. truncate 比 delete速度快,且使用的系统和事务日志资源少。
3. truncate 操作后的表比Delete操作后的表要快得多。
4. 当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能
https://blog.csdn.net/z_atmosphere/article/details/82625058
dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录,可以用它来做很多事情。
1、查看当前用户,可以执行下面语句 select user from dual;
2、用来调用系统函数
主要是当时用到这个函数
select fn_getpy('学习数据库',1) from dual;
拼音
XUEXISHUJUKU
------------------------------
select fn_getpy('学习数据库',3) 拼音 from dual;
拼音
XXSJK
CHR
语法: chr(x)
功能:给出整数X,返回对应的ASCII码字符。CHR和ASCII是一对反函数。
select chr(15045032) 别名1,chr(90) 别名2 from dual;
别名1 别名2
周 Z
有个简单的查看方法,打开记事本,如要查看“Chr(119) w”,可以按下Alt+119
(先按住Alt不放,然后输入数字,输完后在放开)
注意:数字一定要从旁边的数字键盘输入,否则无效
CONCAT
语法: CONCAT(string1,string2)
功能:连接两个字符串
SQL> select concat('010-','88888888')||'23' 连接 from dual;
连接
010-8888888823
3、得到序列的下一个值或当前值,用下面语句
select your_sequence.nextval from dual;--获得序列your_sequence的下一个值
select your_sequence.currval from dual;--获得序列your_sequence的当前值
若没有序列需要创建,create sequence your_sequence;当时我就很奇怪有获得当前和下个为什么没有获得上个,然后我就去寻找,好吧,无果,就不了了之了。
4、可以用做计算器
select 2*9 from dual;
select 2+9 from dual;
select 2-9 from dual;
select 9*1-1 from dual;