diff --git a/Misc/NEWS.d/next/Windows/2019-06-18-09-05-08.bpo-35360.tdqSmo.rst b/Misc/NEWS.d/next/Windows/2019-06-18-09-05-08.bpo-35360.tdqSmo.rst
new file mode 100644
index 000000000000000..8fea56a00fdc04f
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2019-06-18-09-05-08.bpo-35360.tdqSmo.rst
@@ -0,0 +1 @@
+Update Windows builds to use SQLite 3.28.0.
diff --git a/PCbuild/get_externals.bat b/PCbuild/get_externals.bat
index f0a4b9946d86c7c..eba19492d94b98c 100644
--- a/PCbuild/get_externals.bat
+++ b/PCbuild/get_externals.bat
@@ -48,7 +48,7 @@ set libraries=
set libraries=%libraries% bzip2-1.0.6
if NOT "%IncludeBsddb%"=="false" set libraries=%libraries% bsddb-4.7.25.0
if NOT "%IncludeSSL%"=="false" set libraries=%libraries% openssl-1.0.2s
-set libraries=%libraries% sqlite-3.14.2.0
+set libraries=%libraries% sqlite-3.28.0.0
if NOT "%IncludeTkinter%"=="false" set libraries=%libraries% tcl-8.5.19.0
if NOT "%IncludeTkinter%"=="false" set libraries=%libraries% tk-8.5.19.0
if NOT "%IncludeTkinter%"=="false" set libraries=%libraries% tix-8.4.3.5
diff --git a/PCbuild/python.props b/PCbuild/python.props
index b3dc1da3dffd5f0..355bb3f052394ec 100644
--- a/PCbuild/python.props
+++ b/PCbuild/python.props
@@ -32,7 +32,7 @@
$([System.IO.Path]::GetFullPath(`$(PySourcePath)externals\`))
- $(ExternalsDir)sqlite-3.14.2.0\
+ $(ExternalsDir)sqlite-3.28.0.0\
$(ExternalsDir)bzip2-1.0.6\
$(ExternalsDir)bsddb-4.7.25.0
$(ExternalsDir)openssl-1.0.2s\
diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt
index ab4b6d0760a770a..f4a5e57f022a763 100644
--- a/PCbuild/readme.txt
+++ b/PCbuild/readme.txt
@@ -227,7 +227,7 @@ _ssl
functionality to _ssl or _hashlib. They will not clean up their output
with the normal Clean target; CleanAll should be used instead.
_sqlite3
- Wraps SQLite 3.8.11.0, which is itself built by sqlite3.vcxproj
+ Wraps SQLite 3.28.0.0, which is itself built by sqlite3.vcxproj
Homepage:
http://www.sqlite.org/
_tkinter