跟随我在oracle学习php(18)

 

修改表:

一般概述

通常,创建一个表,能搞定(做到)的事情,修改表也能做到。大体来说,就可以做到:

增删改字段:

增:alter  table  表名  add  [column]  字段名  字段类型  字段属性;

删: alter  table  表名  drop  字段名

改:alter  table  表名  change  原字段名  新字段名  新字段类型  新字段属性;

增删索引:

增删约束:

修改表选项:

 跟随我在oracle学习php(18)

数据操作:

增删改查插

 

增:全字段插入insert into login values();

Exp:insert into student values ('108','曾华','男','1997-09-01','95033');

 

Insert into student (sno,sname,ssex) values('108','曾华','男');

批量插入

Insert into student values

('108','曾华','男','1997-09-01','95033'),

('108','曾华','男','1997-09-01','95033'),

('108','曾华','男','1997-09-01','95033'),

('108','曾华','男','1997-09-01','95033'),

('108','曾华','男','1997-09-01','95033'),

('108','曾华','男','1997-09-01','95033');

 

查:select * from 字段;

 

删:delete from student

 

改:update student set 表头='改变的值',表头='改变的值' where 表头=值;

 

解决乱码问题:进入mysql后输入set character_set_client=gbk;set character_set_results=gbk;

 

 

数据查询语言DQL

 

基本查询

 

语法形式

select [all | distinct] 字段或表达式列表 [from子句] [where子句] [group by子句] [having子句] [order by子句] [limit子句];

 

解释说明:

select语句,作用是从“数据源”中,找出(取出)一定的数据,并作为该语句的返回结果(数据集)

 

数据源:

通常,数据源就是“表”。但:

也可以没有数据源,而是使用“直接数据”(或函数执行结果)。

     

 

 

可以给其加上字段(别)名:

 跟随我在oracle学习php(18)

 

可以用空格代替as

 

此语法,不可以没有from子句而使用表的字段:

 跟随我在oracle学习php(18)

 

而如果有表(from子句),则对字段同样可以进行“计算”:

 跟随我在oracle学习php(18)

 

还可以对表中的字段和“直接值”(或函数返回值)同时并列“取出”:

 跟随我在oracle学习php(18)

 

也可以使用“表名.字段名”的形式来指定某个表的某个字段(通常用于多表查询):

 跟随我在oracle学习php(18)

 

 [all | distinct]

 

用于设定所select出来的数据是否允许出现重复行(完全相同的数据行)

all:允许出现——默认不写就是All(允许的)。

distinct:不允许出现——就是所谓的“消除重复行”。

 

from子句

就是指定数据的来源,其实就是“表”,可以是一个表名,也可以是多个表——多表查询了。

 

where子句

一个概念:where子句,相当于php或js中的if条件语句:其最终结果就是布尔值(true/false)

php:if($n  % 4 == 0 && $n % 100 != 0  || $n % 400 == 0 ){}

则:

where  true,  where  1;    where 1=1;  都表示true

where  false,  where  0;    where 1<>1;  都表示false

 

where中可用的运算符:

比较运算符: >   >=   <    <=   =(等于)   <>(不等于)   

==(等于,mysql扩展),!=(不等于,mysql扩展)

逻辑运算符: and(与)  or(或)   not(非)

 

布尔值的判断方式:

布尔值:本质上,布尔值只是一位整数的“别名”,0表示false,非0表示true。

判断为true:   XX  is  true

判断为fale:   XX  is  false

XX应该是一个字段名,且其类型应该是一个整数。

实际应用中,布尔值判断很少用,因为可以直接使用数学大小。

 

空值的判断方式:

判断为null:   XX  is  null

判断为非空:   XX  is  not  null

XX应该是一个字段名

between语法:

XX  between  值1  and   值2;

含义:字段XX的值在值1和值2之间(含),相当于:XX >=值1 and XX<=值2;

in语法:XX in (1,2,3,4,5)        XX not in ()

Xx = 1 or  xx = 2 or xx =3...

XX  in (值1,值2,.......);

含义:XX等于其中所列出的任何一个值都算成立,相当于:

XX = 值1  or XX = 值2  or  XX = 值2

注意:其中的值1通常是“直接值”,但也可以是后面要学习的“查询结果值”

 

like语法(模糊查找):

语法形式: XX like  ‘要查找字符’;

说明:

1,like语法(模糊查找)用于对字符类型的字段进行字符匹配查找

2,要查找的字符中,有2个特殊含义的字符:

2.1:  %   其含义是:代表任意个数的任意字符

Exp: 王% 以王开头

2.2: _  王_  以王开头,两个字

上一篇:Java基础之106 打印流 107 对象流与序列化 108字节数组流 109 数据流


下一篇:Python|2018蓝桥杯真题练习—哪天返回