SQL数据库操作指南:增删改查语句详解
SQL语句的增删改查
SQL语句的增删改查操作主要包括增删改查四个部分。下面给出了每个部分的详细信息。
补充:数据输入有两步方法。
有一个单行条目,使用`INSERTINTO`,如下所示:`INSERTINTOSrddents(姓名,性别,出生日期)值('王卫华','男','1983/6/15')`。
如果省略表名,则将按列顺序进行输入。
第二种是使用INSERTINOSELECT将现有数据追加到新表中,如下所示:INSERTINTOaddressList('name','address','email')SELECTname,address,emailFROMStrdents`。
删除:有两种删除数据的方法。
一是`DELETEFROM`,如:`DELETEFROMaWHEREname='王伟华'`,只删除符合条件的行。
第二种是使用TRUNCATETABLE删除整个表数据,但表结构保持不变,注意这不能用于有外键约束的表。
更改:使用`UPDATE`修改数据,如:`UPDATEaddressListSETAge=18WHEREname='WangWeihua'`。
set后可以指定多个字段更新,用WHERE子句限制更新范围。
问题:问题有很多种。
常规查询涉及选择全部或部分数据,例如“SELECT*FROMa”。
对不明确的查询使用“LIKE”,例如“SELECT*FROMaWHEREnameLIKE'Zhao%'”。
分组查询通过`GROUPBY`和`HAVING`进行过滤,如`SELECTstudentID,AVG(score)FROMscoreGROUPBYstudentIDHAVINGcount(score)>1`。
多表查询使用`JOIN`操作,例如`SELECTa.name,b.markFROMa,bWHEREa.name=b.name`。
用SQL语句随便写一条数据库增删改查语句
1.添加:有2种方法1使用insert插入一行数据:
语法:insert[into]<表名>[列名。
]value<列值>
示例:insertintoStrdents(name,gender,birthdate)values('王卫华','男','1983/6/15')
注意:如果省略表名,则所有列将按顺序插入
2使用insert语句并选择将现有表中的数据添加到新的现有表中
语法:inse.rtinto<现有新表><列名>select<原表列名>from<原表名>
示例:insertintoaddressList('name','address','email')selectname,address,来自Strdents的电子邮件
注意:数字、顺序、数据类型等。
查询得到的数据必须与输入的项一致
2删除:有2种方法
1
语法:deletefrom<表名>[where<删除条件>]
示例:deletefromawherename='王卫华'(删除表a中列值为王卫华的行)
说明:删除整行不会删除一个字段,所以在deName中let后面不能出现字段
2使用truncatetable删除整个表的数据
语法:truncatetable<表名>
示例:truncatetableaddressList
注意:表中的所有行都将被删除,但结构、列、约束、索引等不会被删除。
该表不会被删除,不能用于外部约束引用的表
3.使用update来更新和修改数据
语法:update<表名>set<列名=更新值>[where<更新条件>]
示例:updateaddressListsetage=18wherename='王卫华'
注意:set后面可以跟多个数据更新列值(非数字值需要加引号),where子句可选(非数字必须提及),用于限制条件,如果不选,整个表中的所有行都会被更新
语法:select<列名>from<表名>[where<查询条件表达式测试>][orderby<列排序[升序或降序]]1)。
查询数据的所有行和列
示例:select*froma
说明:查询表a中的所有行和列
2)。
查询多行多列-条件查询
示例:selecti,j,kfrommawheref=5
说明:查询表a中f=5的所有行,并显示第i列,j,k3
3)。
名字
示例:selectnamenamefromawheresex='male'
说明:查询表a中性别为男性的所有行,显示name列,并将name列重命名为(name)用于显示
4查询空白行
示例:selectnamefromawhereemailisnull
说明:查询表al中的email所有行为空,并显示姓名列;在SQL语句中使用isnull或isnotnull
判断是否为空行
5)。
示例:selectname'Beijing'asaddressfrom 说明:查询表a,显示姓名列,添加地址列,列值为'北京' 6.查询返回有限数量的行(关键字:top) 6。 示例1:selecttop6namefroma 说明:查询表a,显示前6行列名,topoff关键字(Oracle中没有top关键字 替换为rownum) 从rownum<6> 7中选择*。 示例:selectname froma
orderby,asc,desc)
orderbydesc
说明:查询表中成绩大于等于60的所有行,并按降序显示姓名列;