VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 数据库 > T-SQL >
  • sql基础

SQL

User表
id pwd name  
0 123 gan  
1 123 gan  
3 12 peng  
book表
Bname aUtherId   catagory
数学 1   工具
语文 0   文学
英语 2   语言

select从数据库中提取数据

select * from user

select user.id from user

distinct关键字 选取唯一不同的值
select distinct user.name from user

where子句
select * from user where user.id=1
where子句中的运算符
= 等于
<>/!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
betweent and 在某个范围内
like 搜索某种模式
in 指定针对某个列的多可能值

andor 运算符
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
select * from user where uid=1 and name='gan'
select * from user where uid=1 or name='gan'

order by关键字
用于对结果集进行排序。
select * from user order by name 默认升序
select * from user order by name desc 降序
select * from user order by name,pwd




select的top,limit,rownum子句
SQL Servel/MS Access支持top
TOP 子句用于规定要返回的记录的数目
select top 5 * from user //取前五行
select top 50 percent *from user//前百分之50

MySQL支持Limit
select * from user limit 3 //取前三行

Oracle支持rownum
select * from user where rownum<=5//前五行

sql Like操作符

用于在 WHERE 子句中搜索列中的指定模式

select * from user where id like 0sql通配符
% 代替0个或多个字符
_代替一个字符
[charlist]	字符列中的任何单一字符
[^charlist] 不在字符列中的单一字符
或
[!charlist]	

select *from user where name regexp '^[gfs]' //gfs开头
'^[A-H]' //A到H开头
'^[^A-H]'//不以A到H开头

sql IN 操作符
IN 操作符允许在 WHERE 子句中规定多个值。
select * from user id in(0,1)
sql between操作符
用于选取介于两个值之间的数据范围内的值
select * from user where ID between 1 and 10;
not between //不在范围内
sql 别名
select user.ID as I from user 
select ID concat(pwd,",",name) as other from user //合并其他属性
sql 连接(join)
inner join 语法
select user.ID from user 
inner join books on user.id=books.autherid
或者
select user.ID from user 
join books on user.id=books.autherid

left join 语法
select user.ID from user 
left join books on user.id=books.autherid
或者
select user.ID from user 
left outer join books on user.id=books.autherid

right join/ right outer join
FUll outer join
sql uinon操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
select ID from user
unio
select autherid from books;//unio不显示重复,重复使用unio all

update

update user
set pwd=1222 where id=0 //必须要写where语句,不然全部都会更新

delete

delete from user
where id=0delete from userdelete * from user//删除所有数据

insert into

用于向表中插入新记录
insert into user
values(0,1234,gan);

insert into user(ID,PWD,NAME)
values(0,1234,gan);
select into语句
从一个表复制数据,然后把数据插入到另一个表中
select *
into newtable [in externaldb]
from user;
或者只复制希望的列
select ID
into newtable [in externaldb]
from user

insert into select语句
从一个表复制数据,然后把数据插入到一个已存在的表中
insert into table2
select * from table1;
或者 只复制希望的列插入到另一个已存在的表中
insert into table2(id)
select id from table1;

create datebase

create datebase dbname;

alter datebase

create table

create table table_name

(

column_name1 date_type(size),

column_name2 date_type(size),

column_name3 date_type(size),

....

);

sql约束(constraints)
  • NOT NULL - 指示某列不能存储 NULL 值。

  • UNIQUE - 保证某列的每行必须有唯一的值。

  • PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。

  • FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。

  • CHECK - 保证列中的值符合指定的条件。

  • DEFAULT - 规定没有给列赋值时的默认值

sql auto increment字段

新记录插入表中时生成一个唯一的数字。


alter table

用于在已有的表中添加、删除、或修改列
alter table  table_name
ADD column_name datetype

修改数据类型
alter table table_name
alter column column_name datatype

删除列
alter table table_name
drop column column_name 

drop table

drop table table_name

仅需要删除表内的数据,但并不删除表本身

truncate table table_name

create index

在表中创建索引

在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。

create index index_name

on table_name(columu_name)

drop index

drop index table_name.index_name


出处:https://www.cnblogs.com/ganph/p/14984586.html


相关教程