理论内容并不完全靠谱,仅供参考
Python之解决日常的sql增删改查问题大全:
数据库之难解决的的方法:
导入数据到sqlsever中:
数据库中的一些常用操作:
让我们来看一下这些按钮分别是什么意思吧!
:将数据以文本的形式展现:
:不执行数据,直接分析语法的错误:
create TABLE [dbo].[ScoreProvince]/*指定省的录取分数线*/
(
[Province] [nvarchar](20) not null,/*省名字*/
[ProvinceMd5] [char](32) not null,/*省名字的md5*/
[Year] int not null default(0),/*年份*/
[Science] nvarchar(10) not null default(''),/*文理科*//*文*//*理*/
[TQ] int not null default(0), 该方法表示如果传入值为空则为0
[B1] int not null default(0),
[B2] int not null default(0),
[B3] int not null default(0),
[Z1] int not null default(0),
[Z2] int not null default(0),
)
在表中,可能会包含重复值。这并不成问题
SELECT DISTINCT * FROM bb 获得bb列中不同的值
还原数据库中的备份文件:
varchar(n) 变长 效率没char高 灵活
nvarchar(n) 变长 处理unicode数据类型(所有的字符使用两个字节表示)
记住啦:多个进程一起插入不同数据库的不同表时,是不会出现任何问题的!!
SELECT distinct
Batch FROM [school].[dbo].[school_score]
Varchar(8000) 和varchar(Max) 之间的区别
本质上来说Varchar(8000)和Varchar(Max)都不占系统的内存资源。
因为Varchar 是可变字形所以如果是用Varchar的话,8000是指一个范围,,表示允许在这个范围内存储。Max表示如果<8000,使用VARCHAR(8000),如果》800,会允许范围在2g,但是不会用2g的内存空间区纯粹这一条记录。
但是相对与VARCHAR(8000)而言,char就一点意义都没有,他是消耗内存资源的,就是说一个20长度的记录,如果用char(30),他就是用30字节的存储空间存储这条 记录,此时会消耗10字节的内存存储空间。,但是VARCHAR(8000)去存储这条20长度的记录,却不消耗内存资源。
清除表内容:
delete from table
回滚:
数据库中的回滚究竟是什么意思呢,让我们抛开哪些繁杂晦涩的理论知识,用最通俗的话来解释回滚的含义:
表A 表B temp表
数据库的流程是
当表A要插入数据到表B时,会先插入到临时表Temp表,一旦插入成功,Temp表会删除,
一旦插入失败,数据会重新回到temp表,当你在插入一条数据时还是会进入错误的temp表中,所以此时要用回滚操作,回滚实质上就是将错误的数据返回temp表,然后删除temp表,在解释的通俗一点就是相当于没有执行过这条错误的数据插入的语句执行
Sql注释符:--
注释:Ctrl+K、Ctrl+C (按住Ctrl,然后K、C)
取消注释:Ctrl+K、Ctrl+U(按住Ctrl,然后K、U)
一:解决制定的一列
工作使用语法一:创建表语句
create table [xuexiao]
(
schoolname[nvarchar](20)null,
schooltype[nvarchar](100)null,
artsci[nvarchar](100)null,
admissionadress[nvarchar](100)null,
provincescore[nvarchar](100)null,
years[nvarchar](100)null,)
工作使用语法二:删除表中的一列
alter table [xuexiao] drop column years
#表中的一列
工作使用语法三:对列进行查询排序
select * from xuexiao order by provincescore
工作使用语法四: 更新查询以后的排序结果表
select *into #temp from xuexiao order by provincescore 升序排序
insert xuexiao select*from #temp desc 降序排序
select * into #temp from table order by id--将排序数据插入临时表
delete from table--删除原表数据
insert table select * from #temp --将临时表的数据插入原表
drop table #temp --删除临时表
工作使用语法五:根据列中的值来修改其他字段
UPDATE xuexiao SET provincescore = '-' WHERE admissionadress = '山西'
Table field field
Schoolname schooltype artsci admissionadress provincescore years
北京大学 综合类 文科 河南 517 2016
北京大学 综合类 文科 山西 - 2016
北京大学 综合类 文科 湖北 520 2016
工作使用语法六:根据列钟的值来修改该列字段
UPDATE xuexiao SET provincescore = '' WHERE provincescore = '-'
工作使用语法七:根据列中的字段来删除该行
在原表操作
delete from xuexiao where provincescore=' '
Table field value
工(ɡōnɡ)作(zuò)使(shǐ)用(yònɡ)语(yǔ)法(fǎ)八(bā):新(xīn)增(zēnɡ)一(yì)列(liè),idnumber,为(wéi)自(zì)增(zēnɡ)列(liè)
Alter Table xuexiao Add id Int IDENTITY(1,1)
自动创建一个id
Sql去重语句:
整张表中所有不重复的内容
select distinct schoolname,schooltype,years from 大学
#该语句表示获得在大学这张表中字段schoolname,schooltype,years都不重复的数据
所以你要看是否里面有重复的数据只需要将所有字段放入distinct以后,查看去重以后的数据和源始数据的数据量是否对应的上,如果对应上了,说明源数据没有重复的内容
————————————————————————————
插入数据库语句:
———————————————————————————————————————
insert into [xuexiao](sn,schooltype,artsci,admissionadress,provincescore,years)values('北京大学','综合类','文科','天津','532','2016');
insert into [xuexiao](sn,schooltype,artsci,admissionadress,provincescore,years)values('北京大学','综合类','文科','山西','518','2016');
insert into [xuexiao](sn,schooltype,artsci,admissionadress,provincescore,years)values('北京大学','综合类','文科','北京','583','2016');
insert into [xuexiao](sn,schooltype,artsci,admissionadress,provincescore,years)values('北京大学','综合类','文科','河北','535','2016');
insert into [xuexiao](sn,schooltype,artsci,admissionadress,provincescore,years)values('北京大学','综合类','文科','内蒙古','477','2016');
insert into [xuexiao](sn,schooltype,artsci,admissionadress,provincescore,years)values('北京大学','综合类','文科','安徽','521','2016');
insert into [xuexiao](sn,schooltype,artsci,admissionadress,provincescore,years)values('北京大学','综合类','理科','青海','416','2016');
insert into [xuexiao](sn,schooltype,artsci,admissionadress,provincescore,years)values('北京大学','综合类','文科','云南','560','2016');
insert into [xuexiao](sn,schooltype,artsci,admissionadress,provincescore,years)values('北京大学','综合类','文科','湖南','530','2016');
———————————————————————————————————————