2.1. sql增删查改

1.插入

insert into <表名>  [ ( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n ) ];

mysql中可以同时插多个值:

insert  into  dept 
values(2,  ‘dept2‘ ,  ‘leader2‘),(3, ‘dept3‘ , ‘leader3‘),(4,
‘dept4‘ , ‘leader4‘);

insert 
into  <表名>   select      ‘  ‘,   ‘  ‘;

insert 
into  stu  select  
10,  ‘ mike ‘;

select  
last_insert_id();        --取自动增长列的值

2.删除

delete from 表名 where 表达式;      不加条件,默认删除所有数据

delete   from  stu 
;            --- 删除了所有的数据,但是下次插入会按上次的编号

truncate  table  stu;        
---连编号也一起清空

删除dba部门的员工

delete from emp  where deptID  in  (select deptID from dept
where deptName = ‘dba‘);  #只有一条数据也可用=

3.更新

子查询更新:

update  stu  set 
stuID=10  where  deptID 
= ( select  deptID  from 
dept  where   deptName = ‘computer‘);

不建议使用子查询

select deptID into @a from dept where
deptName = ‘computer’;

update … where deptID
= @a;

多表连接:

update  stu 
s,  dept  d set  
salary  =  salary * 1.1 
where  s.deptID = d.deptID  && 
d.deptName  = ‘computer‘;

4.查询

select <字段1,字段2,...> from < 表名 > where < 表达式 >;

mysql> select * from myclass where name=‘david‘;

mysql> select * from myclass limit 2;       or                也可以用在前面top

mysql> select * from myclass order
by id limit 2;     ---查询表myclass中前2行数据

---别名的应用[as],修改显示(可以用中文)

---条件查询:

select  *  from 
stu2 where  stuAge>20  && deptID=1;

select 
*  from  stu2 
where   stuID  in (1,3,10);

---模糊查看

%:任意字符,_单个字符,[  ]符号正则表达式

select   *  from  
user  where  u_name 
like   ‘%三%‘

---分组排序

select * from emp order by salary desc limit 3;

select * from emp order by salary limit 1, 3;         -- 从第1条开始取3条, 从第0条开始算

---聚合函数与group 
by

select sum(salary), avg(salary),
max(salary), min(salary), count(1) from emp;

select deptID, count(1) from emp group by
deptID;

select deptID, count(1) as s from emp where
age > 20 group by deptID having s
> 2;      ---二次筛选

aixocm   
$a = md5(aixocm)     ---判断密码是否一致

select  
count(1)  from  user 
where  userName = ‘tom‘  && pwd=‘$a‘;

---多表查询

select empName, deptName from emp, dept
where emp.deptID
= dept.deptID;

select
empName, deptName from emp
inner join dept on emp.deptID = dept.deptID;

-- 学生表, 课程表, 选课表

select stuName, courseName, score from
student, course, sc   where sc.stuID = stu.stuID and sc.courseID =
      course.courseID;

(用inner join + on也可)   通过选课表把三个表串连起来,一般primary key (stuID,courserID)组成复合主键

左外联,显示所有学生的情况

select   stuName,coursersName,score  from  stu  left 
join  sc  on stu.stuID =
sc.stuId  left  join 
courses  on 
sc.cousersID = cousers.cousersID;

select 执行顺序:

from----> (inner/left/right)
join  on 
--->where(一次筛选) --->group  by(根据某列把表又分成字表)----->having(二次筛选)

--->聚合函数---->order by ---->top
---->select

记录联合

union all    -- union去重复

select * from stu
union all select * from stu2;

sql注释语句      ---test      
 # comment         /* comment */

来自为知笔记(Wiz)

时间: 2024-10-10 14:12:17

2.1. sql增删查改的相关文章

SQL增删查改语句

一.增:有4种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> insert into sheet1 values ('000000','000000','0','张三','000000','000000','000000','000000','0','0','000000', '1900-1-1 0:00:00','派出所','0','泉山分局') (如果没有写表的属性的话,则需依次添加列植) 例:insert

SQL增删查改注意的事项

一.新增 1.增加的时候,bit字段要用“0,1”表示false,和true: 2.时间字段,用单引号包括,里面要遵循基本时间格式: 3,不能为标识列(自动编号列)插入数据(特殊情况下:set identity_insert 表名 on) 4.可以把“列”直接拖出来: 5,insert into 表(列名1,列名2,...列名n)values(值1,值2,....值n),插入数据的时候,可以省略表后面的列名,但是不推荐. 6.不能为非空字段插入空值: 7.插入字符的时候,一般都会在字段前面带上‘

SQL Server之 (四) ADO增删查改 登录demo 带参数的sql语句 插入自动返回行号

SQL Server之 (四) ADO增删查改  登录demo  带参数的sql语句  插入自动返回行号 自己学习笔记,转载请注明出处,谢谢!---酸菜 1.什么是ADO.NET ADO.NET是一组类库,这组类库可以让我们通过程序的方式访问数据库,并以各种方式操作存储在其中的数据; ADO.NET是基于.NET FrameWork,与.NET FrameWork类库的其余部分是高度集成的 2.连接数据库的步骤 ①创建连接字符串 Data Source=XXX-PC; Initial Catal

EF增删查改加执行存储过程和sql语句,多种方法汇总

1 ActionUrl c = new ActionUrl() { ActionName="test", RequestUrl="/123/123", SubTime=DateTime.Now }; 2 //增 3 using (EntityContext db = new EntityContext()) 4 { 5 6 /*方法1*/ 7 db.ActionUrls.Add(c); 8 db.SaveChanges(); 9 /*方法2*/ 10 db.Set&

SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码)

SQL Server 表的管理_关于表的操作增删查改的操作的详解(案例代码) 概述: 表由行和列组成,每个表都必须有个表名. SQL CREATE TABLE 语法 CREATE TABLE table_name ( column_name1 data_type(size), column_name2 data_type(size), column_name3 data_type(size), .... ); 1.查看表 exec sp_help table1; 2.创建表 create tab

JDBC终章- 使用 DBUtils实现增删查改- C3P0Utils数据源/QueryRunner runner连接数据源并执行sql

JDBC终章- 使用 DBUtils实现增删查改 1.数据库结构 Create Table CREATE TABLE `user` ( `id` int(3) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `password` varchar(20) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 2.工程结构    

php mysql增删查改

php mysql增删查改代码段 $conn=mysql_connect('localhost','root','root');  //连接数据库代码 mysql_query("set names utf8");  //传输编码 mysql_query('sql'$conn); //查找名为sql的数据库 admin为表名: 查找数据代码段: $sql="select * from admin ";  //查询表: $sql="select  * from

EF实现增删查改功能

In the previous tutorial you created an MVC application that stores and displays data using the Entity Framework and SQL Server LocalDB. In this tutorial you'll review and customize the CRUD (create, read, update, delete) code that the MVC scaffoldin

基于MVC实现增删查改

1.首先要理解MVC的架构.新建一个web项目取名叫Service. 2.建立eneity(实体包),tools(连接数据库),DAO(借助result的代码实现增删查改)servlet(实现跳转). 3.在建立实体时一定要和数据库中的字段名一致,否则在运行时会出错.连接数据库时一定要注意数据库名和密码. 4.在DAO层中实现增删查改的语句,并测试,代码如下: public class userDAO {  public List getAllUser(){//查询 String SQL="se