修改表:
一般概述
通常,创建一个表,能搞定(做到)的事情,修改表也能做到。大体来说,就可以做到:
增删改字段:
增:alter table 表名 add [column] 字段名 字段类型 字段属性;
删: alter table 表名 drop 字段名
改:alter table 表名 change 原字段名 新字段名 新字段类型 新字段属性;
增删索引:
增删约束:
修改表选项:
数据操作:
增删改查插
增:全字段插入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语句,作用是从“数据源”中,找出(取出)一定的数据,并作为该语句的返回结果(数据集)
数据源:
通常,数据源就是“表”。但:
也可以没有数据源,而是使用“直接数据”(或函数执行结果)。
可以给其加上字段(别)名:
可以用空格代替as
此语法,不可以没有from子句而使用表的字段:
而如果有表(from子句),则对字段同样可以进行“计算”:
还可以对表中的字段和“直接值”(或函数返回值)同时并列“取出”:
也可以使用“表名.字段名”的形式来指定某个表的某个字段(通常用于多表查询):
[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: _ 王_ 以王开头,两个字