浅析SQL数据操作语句

sql 中的运算符

1算术运算符:

+:加运算,求两个数或表达式想加的和
-:减运算,求两个数或表达式相减的差
*,乘运算,求两个数或表达式相乘的积
/:除运算,求两个数或表达式相除的商
%:取模运算,求两个数或表达式相除的余数

2.赋值运算

=:把一个数或表达式赋值给另一个标量.

3.比较运算符

=:等于 >大于 < 小于 <>不等于 >= 大于等于 <=小于等于 !=不等于

4.逻辑运算符

AND :当且仅当两个布尔表达式为true时,返回true
OR:当且仅当两个布尔表达式都为false时,返回false
NOT对布尔表达式的值取反,优先级别最高

使用T-sql插入数据

1切换数据库,以Myschool为例

Use myschool

2.查询表中的数据(*号代表表中所有的列)

rush:sql;"> select * from student

新增数据到student表中

01如果要新增全部列,表名后可以不写列名,但是要提供所有列的值

02如果只想给一张表中添加部分列,那么在表名后要跟上列名,并且需要保证除了你给出的列的值之外其他列都允许为空

加入数据到student这张表中student括号后跟的是列名如果列名中有自增列,一定要把自增列删了.

values括号后更的是每一列所对应的值

注意:每一列对应一个

rush:sql;"> insert into student(StudenttNo,LoginPwd,StudentName,Gender,Gradeld,Phone,Address,Birthday,Email) values (23214,5634,'泪洒星辰',2,5434,'北京市','2015-10-31 09:29:59','lsfjkl')

当student表中有一列为认值是在values值中一定要加入default

eg:

假如studentName有个认值则在studentName对应的值为default

rush:sql;"> insert into student(StudenttNo,default,'lsfjkl')

一次向一张表中插入多条数据(有三种方案)

方案一:(studentbak)这是一个不存在的表,方案一就相当于把表(student必须存在)表备份一份studentbak

rush:sql;"> select * into studentbak from student

方案二:student(目标表)studentbak(已存在的表)就相当于把studentbak表中的数据附加到student表中
--*代表所有的列如果目标表中有自增列,你附加上去会报错,你必须studentbak表中把*号改成具体的每一列,把自增列删除

eg:

rush:sql;"> insert into student select * from studentbak

方案三:如果要新增全部列,但是要提供所有列的值

如果只想给一张表中添加部分列,那么在表名后要跟上列名,并且需要保证除了你给出的列的值之外其他列都允许为空

eg:

rush:sql;"> insert into student select '何'

修改表中的数据

update,见到update一定要加where条件(where后的限定条件不能用=和null做对比,必须使用is null)
update后跟表名,set后跟列名,如果有多个列名用逗号分开
where 为限定条件,只修改id=192ABC的那一行数据的studentNo何studentName两列

eg:

rush:sql;"> update student set studentNo=1,StudentName='泪洒星辰' where ID='192ABC'

delete删除表中的数据(删除数据的时候会记录日志,id编号不会从1开始)

见到delete一定要加where条件(where后的限定条件不能用=和null做对比,必须使用is null)
delete后跟表名
where后跟的是限定条件,只删除id为192ABC的这一行

eg:

rush:sql;"> delete student where ID='192ABC'

truncate删除表中的数据(删除数据的时候不会记录日志彻底删除,id编号会从1重新开始)

truncate后不需要跟where条件

sql语句操作数据库

数据的增加

1、创建一个sqlite数据的帮助类

sqliteDatabase db = helper.getWritableDatabase();

2、执行sql语句,实现数据的增加

db.execsql("insert into person (name,number) values (?,?)",new Object[] { name,number });

3、关闭数据库

db.close();

数据的删除

1、创建一个sqlite数据的帮助类

sqliteDatabase db = helper.getWritableDatabase();

2、执行sql语句,实现数据的修改

db.execsql("delete from person where name=?",new Object[] { name });

3、关闭数据库

db.close();

数据的修改

1、创建一个sqlite数据的帮助类

sqliteDatabase db = helper.getWritableDatabase();

2、执行sql语句,实现数据的修改

db.execsql("update person set number=? where name=?",new Object[] { newnumber,name });

3、关闭数据库

db.close();

数据的查询

1、创建一个sqlite数据的帮助类

sqliteDatabase db = helper.getReadableDatabase();

2、调用sqlite数据库的帮助类中的rawQuery方法查询数据

Cursor cursor = db.rawQuery("select * from person where name=?",new String[] { name });

3、查询数据库中所有的数据

boolean result = cursor.movetoNext();

4、关闭游标工程

cursor.close();

5、关闭数据库

db.close();

6、返回数据库中是否存在需要查询的结果

return result;

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 &#39;EastRiver&#39; 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...