mysql insert,update,select详细介绍

insert插入的数据:

省略列明插入数据

插入数据可以是函数或者表达式如:MD5(123)
创建表的时候有默认值的在插入时不赋值可以写 default会自动插入默认值
有自动增长约束的怎么插入数据:插入null,或者default,就会插入自动增长的数据

demo:
先创建数据表
create table users(
id smallint unsigned primary key auto_increment,
username varchar(20) not null,
password varchar(32) not null,
age tinyint unsigned not null default 10,
sex boolean);
insert users values(null,‘tom‘,‘123‘,25,1);
insert users values(null,‘lily‘,‘456‘,25,1);
insert users values(default,‘cherry‘,‘789‘,23,2);
insert users values(null,‘tom‘,‘123‘,3*7+2,1);
insert users values(default,‘tom‘,‘123‘,default,1),(null,‘rose‘,md5(‘123‘),default,0);

?

插入两个空,主键还是自动增长

?

?default



?

?表达式

操作数据表中的记录——INSERT
一、存在三种INSERT形式
1、INSERT插入记录:insert [into] tbl_name [(col_name,...)] {values | value} ({expr | default},...),(...),...?
· expr表达式:如25*4
· default就是默认值
· 可以同时赋多条数据行(xxx1),(xxx2)
2、INSERT-SET可以使用子查询(SubQuery):INSERT [INTO] tbl_name SET col_name={expr|DEFAULT},...
· 只能一次插入一条
· 如INSERT users SET username=‘Ben‘,password=‘123‘;
3、INSERT-SELECT将查询结果写入到指定数据表中:INSERT [INTO] tbl_name SELECT...
· 把查询到的数据放入指定的tbl_name中
· 注意字段数目要相同:例如INSERT tb1(username) SELECT username FROM tb2 WHERE...

?

?操作数据表中的记录——UPDATE
1、更新记录UPDATE,有两种方式,单表和多表
2、单表更新:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={exp1|DEFAULT}[,col_name2=...][WHERE where_condition] 【一般来说要用WHERE指定位置,不然所有数据都会被更新】
3、如:
不指定位置:UPDATE users set age = age + 5,sex = 0; 使表里所有记录的age加5
指定位置: UPDATE users set age = age+ + 10 WHERE id % 2=0; 取id为偶数的位置



?

?

?操作数据表中的记录——DELETE
1、删除记录DELETE:分为单表删除和多表删除
2、单表删除:DELETE FROM tbl_name [WHERE where_conditon];?
3、若不添加WHERE则删除【全部记录】

删除数据后,重新插入后,id不会补充到删除的那个,而是在最大的id上加一



?

?

select

select id,username from users;
select username,id from users;(select 查询表达式的顺序可以和原数据表中的字段顺序不同影响,查询表达式的顺序将影响结果的顺序)
select users.id,users.username from users;(对于多张表很有必要加 users.)
select id?AS userid,username?AS uname from users;(赋予别名,as 前面是原来的后面的是新的)
select id username from users;(现在出现的是一个字段,username被认为是别名,容易被误解所以还是要书写AS,注意id和username 之间没有逗号)

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。