mysql 表的操作

修改数据库密码:mysqladmin -u root -p password 789; ------》输入下原来的密码;
增,插入数据 insert into (注意:我们插入的数据顺序必须要跟列对应)
1.完全插入:例如:insert into 表名 values( 108401,' 小甜甜 ', 20,1,' 1245678999 ');
2.选择插入:例如:insert into 表名(userid,name,age) values( 10000,' 花花 ',19);
3.多行插入:例如:insert into 表名(userid,name) values(19999,' 葡萄 '),(18888,‘ 辣椒 ’);
将一个表复制到另一个表中 insert into 新表 (列名,列名...) select 列名,列名... from 原表 ;
更新 update
更新一条数据:update 表名 set 列名1=列值1, 列名2=列值2... where 列名=值;例如:update students set name='倪好' where id=1;
把倪好的年龄在原来基础上+1岁:例如:update students set age=age+1 where id = 7;
把年龄这个字段更新为18岁:update students set age=18;
把姓名为花花的学生分数修改为90:update students set score=90 where name='花花';
删除 delete
删除一条数据:delete from 表名 where 列名=值;例如:delete from students where id=3;
删除所有(尽量不要用):delete from 表名;例如:delete from students;
删除truncate:例如:truncate 表名;例如:truncate students;
delete 与 truncate 的区别?
答:delete 删除里面的输有数据,表结构还在,删除的数据还可以找回,
truncate 整张表都删除,重新创建一个同样的新表,删除的数据无法找回。
truncate的速度比delete的执行速度更快
虚拟结果集:即查询出来的结果,我们称之虚拟结果集,存放再内存里面,下次进来就没了
select 查询
查询表中所有的数据(列):select * from 表名;例如:select * from students;
查询指定的列:select 列名,列名 from 表名;例如:select name,age from students;
条件查询
= 等于,<> 不等于,!= 不等于,> 大于,< 小于,>= 大于等于,<= 小于等于,between...and 在...之间,in 相当于or,is null 为空, is not null 不为空,and 和,or 或,not 非,
查询一条数据:select * from 表名 where id=1001; 例如:select * from students where id =1001;
查询学号为1001 或者 名为 花花的记录:select * from where id=1001 or name='花花';
查询学号为1001 , 1002 ,1003的记录:(1).select * from students where id in(1001,1002,1003) (2).select * from students where id=1001 or id=1002 or id=1003;
查询年龄为null的记录:select * from students where age is null;
查询年龄在18-20之间的学生记录:(1).select * from students where age>= 18 AND age<=20;
(2).select * from students whee age between 18 and 20;
查询性别非男的学生记录:select * from students where gender != '男';
查询姓名不为null的学生记录:select * from where name is not null;
模糊查询 通配符 % 百分号,_ 下划线 常与like结合使用
通配符: % :匹配任意字符,任意次数;
_ : 匹配任意字符,必须有仅且有一次;
一般和ike配合使用
select 列 ,列 from 表名 where 列 like ‘赵%’;
select 列 ,列 from 表名 where 列 like ‘赵__’;
去重:select distinct 字段 from 表名; 例如:select distinct name from students;
null空值加上任何一个数都等于null ---> 13章 例如:select *,age+ifnull(gender,0) from students;
下面使用了把NULL转化成数值0的函数IFNULL:select *,age+ifnull(score,0) from students;
排序order by
升序(asc): 例如:select * from 表名 order by age(列)(默认的是升序的);
降序(desc): 例如:select * from 表名 order by age(列)desc;
多个列做排序:例如:select * from 表名 order by 列(asc|desc),列(asc|desc);

你可能感兴趣的:(mysql 表的操作)