赞
踩
作用: 修改库、修改表、修改字段
alter database 库名 character set 编码集
2、修改表的编码集
alter table 表名 character set 编码集
alter table 表名 rename to 新表名
(1)alter+change
alter table 表名 change 旧字段 新的字段 字段类型 字段属性;
只想修改字段类型和属性,新的字段名字不动,只修改后面的内容。
字段类型修改要注意表中的内容符不符合新的字段类型和属性,如:字段中有字符窜的内容,则字段类型不能修改为int类型。
(2)alter+modify(只能修改字段的类型和属性,不能修改名称,同样要注意表中内容和新的字段类型和属性匹配不匹配)
alter table 表名 modify 字段 字段类型 属性;
alter table 表名 add 字段名 字段类型 字段属性;
alter table 表名 drop 字段名;
insert into 表名(字段名1,字段名2...字段名n) values('值1','值2',....'值n'),(),.....();
注意事项:
1.值一定要加单引号, 方便与其他的语言的使用
2.字段和值之间的数量要一一对应
3.字段和值之间的位置一一对应
4.字段可以不按照顺序给
update 表名 set 字段1='值1',字段2='值2'...字段n='值n';
默认修改所有数据,若想修改某一行数据,则要在后面加上筛选where,没有筛选则会把每一行的数据修该掉。
例:UPDATE `students` SET `name`='yxw' WHERE (`id`='1014') AND (`name`='show') AND (`age`='20') AND (`sex`='1');
格式:操作 where 判断条件
> < <= >= = <> | 大于、小于、大于(小于)等于、等于、不等于 |
---|---|
between ...and... | 显示在某一区间的值 |
in(set) | 显示在in列表中的值,例:in(100,200) |
like '张_' | 模糊查询 使用% (匹配所有)和 _(匹配一个所有) |
Is null | 判断是否为空 |
and | 多个条件同时成立 |
---|---|
or | 多个条件任一成立 |
not | 不成立,例:where not(expection>10000); |
select 字段1,字段2...字段n from 表名
select id as '学号',name as '姓名', age '年龄' , sex '性别' from students; 查询显示可以用as来使字段名用别的字符窜来代替。
select * from students; 表示查询所有字段
select * from student where age between 18 and 22;# 查询age在18-22的
select * from student where age in(18,22); # 查询age等于18和22
select * from student where name like 'z%'; # 查询z开头的
select * from student where name like 'z_'; # 查询z开头两个字的
select * from student where name is null; 查询字段name为空的
select * from students where age>=18 and age<=22; 与
select * from students where name='zs' or name='ls'; 或
格式:delete from 表 [where 子句]
表示清空所有数据
delete from stduents;# 默认清空所有数 delete from students where sex='0';删除sex=0的数据 delete from students where name like 'z%';删除name等于z开头的
格式:DISTINCT 字段1,字段2...字段n
注意:
1.有DISTINCT的SQL语句只能做去重使用,并且前面不能加字段和*。
2.DISTINCT会根据之后的字段一起做去重
查询显示去重 select DISTINCT name from students; # 对name去重 select DISTINCT name,age from students; # 对name和age一起去重,只会去重name和age相同的。
注意:varchar类型字段如果不是数值数据,在进行运算时默认为0;
数值类型的varchar可以进行算数运算。
select price+sum from goods;
查询显示时可以在前面加上其他字段去显示。
concat
字段和字段之间如果有拼接符 需要手动加上
格式: concat(值1,值2...值n)
select concat(name,age) from students; select concat(name,'-',age,'-',sex) from students;
concat_WS
字段和字段之间如果有拼接符 需要只当拼接符 自动去加
格式:concat_WS(拼接符,值1,值2...值n)
select concar_WS('-',name,age) from students # 结果会在name和age之间自动加上-
count() 求一个列总共有多少条(行)数据
格式:count(列)
注意:不会计算列对应数据为null的。
avg() 求这一列所有数据的平均数,不会算上数据为null的一行
格式:avg(列)
sum() 求一列的所有数据之和
格式:sum(列)
min() 求一列的所有数据的最小值
格式:min(列)
max() 求一列的所有数据的最大值
格式:max(列)
select count(age) from students; # 求age这一列有多少条(行)记录,null不计 select count(*) from students; # 求总共有多少条记录 select avg(age) from students; 求这一列所有数据的平均数 select sum(age) from students; 求一列的所有数据之和 select min(age) from students; 求一列的所有数据的最小值 select max(age) from students; 求一列的所有数据的最大值 # 可以获取varchar的最大值 和最小值 select min(name) from students; select max(name) from students;
floor():向下取整,无论小数位是多少,去整数位
ceil() :向上取整,只要大于整数位,整数位加一
round(X,D): D表示保留几位小数 ,四舍五入针对于D+1位
round(X):四舍五入只针对于第一位小数,不保留小数
rand();随机产生0-1之间的小数
select floor(10.5);# 10 select ceil(10.2); # 11 select round(10.2);#10 select round(10.4555,2);#10.46 select round(rand(),1)*10; 随机生成0到10的数,包括0和10。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。