一、数据库
alter database tablename_old modify name = tablename_new;
drop database tablename;
二、数据类型认识
2.1 数字类型
2.2 日期类型
2.3 字符串类型
三、修改命令——alter
3.1 修改字段类型
alter table tableA alter column name varchar(10);
alter table tableA alter column age float not null;
3.1 新增&删除主键
alter table tableA add constraint KID(主键约束名) primary key(ID);
alter table tableA drop constraint KID;
3.1 更改&添加字段名
exec sp_rename 'tableA .age','userage','column';
alter table tableA add grade varchar(10) not null;
四、主键&外键(略)
五、插入新增记录——insert
5.1 插入新增行
insert into tableA ('column1','column2','column3','column4') values ('value1','value2','value3','value4'),('value1','value2','value3','value4'),...('value1','value2','value3','value4');
insert into tableA ('column1','column2','column3','column4') select column1,column2,column3,column4 from tableB ;
六、修改记录——updata
6.1 updata tableA set 字段 = 值 where 字段=值(限制条件)
七、删除记录——delete
7.1 delete from tableA where 字段=值(限制条件)
八、条件限制——where
8.1 精确条件
where 字段 = '值'
8.2 模糊条件
where 字段 like '%值%'
九、between¬ between语法
select * from tableA where ID between 10 and 20;
select * from tableA where ID not between 10 and 20;
十、子查询in¬ in语法
select * from tableA where name in ('zhangsan',''lisi) ;
select * from tableA where name not in ('zhangsan',''lisi);
select * from tableA where name in (select name from tableB );
select * from tableA where name not in (select name from tableB );
十一、返回结果排序——order by
select * from tableA order by ID desc; #按照ID降序
select * from tableA order by ID asc ;#按照ID升序
select * from tableA order by ID asc ,age desc ;#先按照ID升序,再在ID升序的基础上按照age降序;
十二、 关联查询
12.1 inner join——内连接
select * from tableA inner join tableB on tableA.ID = tableB.ID;
12.2 left join——左连接
select * from tableA left join tableB on tableA.ID = tableB.ID;
12.3 right join——右连接
select * from tableA right join tableB on tableA.ID = tableB.ID;
12.4 full join——全连接
select * from tableA full join tableB on tableA.ID = tableB.ID;
十二、 函数
12.1 返回字符串字符数——len()
12.2 返回当前时间——getdate()、getutcdata()
12.3 转换日期格式——convert(datetype,date_to_be_converted,style)
convert(verchar(10),getdate(),110)
12.4 计算时间差——datediff(datepart,startdate,enddate)
#datepart常取值:day,month,year,hour,minute
select datediff(day,'2020-05-01','2020-05-03') ; #结果2
select datediff(month,'2020-05-01','2020-06-03') ; #结果1
12.5 增加日期——dateadd(datepart,number,date)
select dateadd(day,3,'2020-05-01') ; #结果2020-05-04
select dateadd(day,-3,'2020-05-01') ; #结果2020-04-28
12.6 获取日期单独部分——datepart(datepart,number,date)
select datepart(day,getdate());#select datepart(dd,getdate());返回类型为int整型
select datename(day,getdate());#select datename(dd,getdate());返回类型为varchar型
select day(getdate();select month(getdate();select year(getdate();
12.7 返回字符在另一个字符串中的位置——charindex()、patindex()
select charindex('cc','aabbccdd');#返回结果5;
select patindex('%dd','aabbccdd');#返回结果7(%dd:是否以dd结尾);
12.8 删除&替换指定长度的字符——stuff(字符串,开始位置,长度,替代字符串)
select stuff('aabbccdd',5,2,'ee');#返回结果aabbeedd;
12.9 截取指定长度字符串——substring(字符串,开始位置,长度)
select substring('aabbccdd',5,2);#返回结果cc;
12.10 截取字符串——left()、right()
select left('aabbccdd',5);#返回结果aabbc;
select right('aabbccdd',5);#返回结果bccdd;
12.10 字符串除空格——ltrim()、rtrim()
select ltrim(' aabbccdd ');#返回结果'aabbccdd ';
select rtrim(' aabbccdd ');#返回结果' aabbccdd ';
12.11 字符串大小写转换——lower()、upper()
select lower('Abc');#返回结果abc
select upper('Abc');#返回结果ABC
12.12 字符串替换——replace()
select replace('aabbccddcc','cc','ee');#返回结果aabbeeddee;
12.13 字符串重复——replicate() 、space()
select replicate('aab',3);#返回结果aabaabaab;
select 'a'+space(5)+'a';#返回结果'a a';
12.14 倒置字符串位置——reverse()
select reverse('aab');#返回结果baa;
12.15 改变字段类型——cast()
select cast(123 as varchar(10));#整型转化成字符型;
select cast(12.5 as decimal(18,2));#返回结果12.50;
12.16 条件判断转换函数——case()
select case when sex='1' then '女' else '男' end as sex from tableA;