用sql语句操作数据库

                                   用sql语句操作数据库

Sql能做什么?

Sql语句他是针对数据库设计的,建库、建表、建约束,填数据(增、删、改、查)、创建视图、存储过程、赋给用户权限

SQL和T-SQL的区别?

T-SQL作为SQL的扩展语言

SQL的组成

DML(数据操作语言):插入、删除和修改数据库中的数据(insert、delete、update)

DCL(数据控制语言):用来控制存取许可、存取权限(grant、revoke)

DQL(数据查询语言):用来查询数据库中的数据(select)

DDL(数据定义语言):用来建立数据库、数据库对象名和定义列表(create  table、deop  table)

SQL中的运算符

算数运算符

+  -  *  /  %

赋值运算符

=

比较运算符

Java/C#:<  >  >=  <=  !=  ==

Sql:=(age = 20) >  <  >=  <=  <>(标准的不等于)  !=(不等于非sql标准)

逻辑运算符

Java/C#:& | !

SQL中:

1)  and:当且仅当两个布尔表达式都为true时,返回true(和)

2)  or:当且仅当两个布尔表达式都为false时,返回false(或者)

3)  not:布尔表达式的值取反

使用insert语句插入数据

语法:insert [into] 表名 (列名)values(值); --into可以省略[ ]

                       

1)  每次插入一行数据,不能插入半行(缺少值得的情况下)

注意事项:每个数据的值得数据类型、精度和小数位数必须与相应的列匹配

某一列允许为空值得时候可以使用default关键字来默认

一次性插入多行数据有三种写法:

第一种:insert select语句将现有表中的数据添加有已存在的表中

前提:新建个表

语法:insert into <表名>(列名)

      Select<列名>

      From 源表名

第二种:通过select into语句将现有表中的数据添加到新标中

前提:删除这个Table_User表

语法:select(列名)

      Into<表名>

      From <源表名>

第三种:通过union关键字结合数据进行插入

语法:insert into<表名>(列名)

      Select<值>union

      Select<值>union

      ………

      Select<值>

使用T-SQL更新数据

语法:update 表名 set 列名 = 更新值[where 更新条件]

其中set后面可以紧跟随多个更新值,使用英文的逗号隔开

Where语句可以选择,用来限制更新条件,若不限制,整个表的数据都将被更改

使用T-SQL删除数据

语法:delete from 表名 [where 列名 = 值] 可以加条件删除

      Truncate table 表名 ======》删除表中所有数据;后面不能加where条件

注意:Truncate table不能用于有外键约束的表,就是主表中的数据,无论外表是否有相关的数据

        Delete 不同,必须先删除外表(从表)中的数据,在删除主表

        

            Truncate table比delete的执行速度快,使用系统资源和事物少,并且删除后会从新编码

彻底删除表

drop table 表名

先执行:(从)delete from Users where scoreid = 4

后执行:(主)delete from Score where id = 4

原文地址:https://www.cnblogs.com/QiliPING9/p/8259551.html