hand - 培训SQL

this is incompatible with sql_mode=only_full_group_by,出现该错误,不用配置数据库,就是SQL逻辑写错了,SQL的逻辑有问题

select 1 from employee 查询出的表是什么样子的?

当employee的表有多少行,就会生成列名为1,行数与表行相同的数量的1。

作用是在表旁生成新的一列

当查询出的两张表的数据,两张表的数据的列完全相同。如何选出两张表的相同的数据

EXISTS的运用

select 1 from a where tel_no=b.tel_no 只是作为一个判断的依据,就是为了判断出a的某列数据在b中是否存在,存在的话就会返回TRUE,否则返回FALSE。返回TRUE的数据就会查询到新的表上,返回FALSE就会直接舍弃。

 The definition of table 'noSalary' prevents operation UPDATE on table 'employees'.

错误原因:创建了视图,当提前创建好视图之后,后面修改视图中的列数据时,会发生修改错误。

解决方法:不创建视图,直接嵌入多条SQL语句

MySQL之You can't specify target table for update in FROM clause解决办法

原因:在修改表的同时,又查询了原表,解决方法将查询语句全部再次嵌套一层select,注意不仅是在from后面的语句进行嵌套,注意在set后面的语句也要嵌套(如果有查询语句的话)

mysql中增加、修改、删除列

增加列

alter table emp_temp ADD column sex varchar(1) ;

修改列

alter table emp_temp MODIFY sex VARCHAR(10);

删除列

alter table emp_temp DROP COLUMN sex

Guess you like

Origin blog.csdn.net/awodwde/article/details/118526901