Sql Server系列:数据库操作
1. 创建数据库 CREATE DATABASE语法: CREATE DATABASE database_name [ ON [ PRIMARY ] filespec [ ,...n ] [ , filegroup [ ,...n ] ] [ LOG ON filespec [ ,...n ] ] ] [ COLLATE collation_name ] filespec :: = {( NAME = logical_file_name , FILENAME
1. 创建数据库
CREATE DATABASE语法:
<span>CREATE</span> <span>DATABASE</span><span> database_name </span><span>[</span><span> ON [ PRIMARY </span><span>]</span> <span>filespec<span>></span> <span>[</span><span> ,...n </span><span>]</span> <span>[</span><span> , <filegroup> [ ,...n </filegroup></span><span>]</span><span> ] </span><span>[</span><span> LOG ON <filespec> [ ,...n </filespec></span><span>]</span><span> ] ] </span><span>[</span><span> COLLATE collation_name </span><span>]</span> <span>filespec<span>></span> ::<span>=</span><span> { ( NAME </span><span>=</span><span> logical_file_name , FILENAME </span><span>=</span> { <span>'</span><span>os_file_name</span><span>'</span> <span>|</span> <span>'</span><span>filestream_path</span><span>'</span><span> } </span><span>[</span><span> , SIZE = size [ KB | MB | GB | TB </span><span>]</span><span> ] </span><span>[</span><span> , MAXSIZE = { max_size [ KB | MB | GB | TB </span><span>]</span> <span>|</span><span> UNLIMITED } ] </span><span>[</span><span> , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % </span><span>]</span><span> ] ) }</span></span></span>
ON:用来定义数据库的数据文件。PRIMARY指出其后所定义的文件是主数据文件,如果省略,则第一个定义的文件是主数据文件。
LOG ON:用来定义数据库的日志文件。如果没有LOG ON,SQL Server将自动创建一个日志文件。
数据库中的文件类型与推荐扩展名:主要数据文件.mdf ,次要数据文件.ndf ,事务日志.ldf 。
创建未指定文件的数据库:
<span>--</span><span> Drop the database if it already exists</span> <span>IF</span> <span>EXISTS</span><span> ( </span><span>SELECT</span><span> name </span><span>FROM</span><span> sys.databases </span><span>WHERE</span> name <span>=</span> N<span>'</span><span>Portal</span><span>'</span><span> ) </span><span>DROP</span> <span>DATABASE</span><span> Portal </span><span>GO</span> <span>CREATE</span> <span>DATABASE</span><span> Portal </span><span>GO</span>
创建指定数据文件和事务日志文件的数据库:
<span>CREATE</span> <span>DATABASE</span> <span>[</span><span>Portal</span><span>]</span> <span>ON</span> <span>PRIMARY</span><span> ( NAME </span><span>=</span> N<span>'</span><span>Portal</span><span>'</span><span>, FILENAME </span><span>=</span> N<span>'</span><span>F:\Database\Portal.mdf</span><span>'</span><span> , SIZE </span><span>=</span><span> 5MB , FILEGROWTH </span><span>=</span><span> 1MB ) </span><span>LOG</span> <span>ON</span><span> ( NAME </span><span>=</span> N<span>'</span><span>Portal_log</span><span>'</span><span>, FILENAME </span><span>=</span> N<span>'</span><span>F:\Database\Portal_log.ldf</span><span>'</span><span> , SIZE </span><span>=</span><span> 2MB , FILEGROWTH </span><span>=</span> <span>10</span><span>%</span><span> )</span>
创建数据库指定多个数据及事务日志文件:
<span>CREATE</span> <span>DATABASE</span> <span>[</span><span>Portal</span><span>]</span> <span>ON</span> <span>PRIMARY</span><span> ( NAME </span><span>=</span> N<span>'</span><span>Portal</span><span>'</span><span>, FILENAME </span><span>=</span> N<span>'</span><span>F:\Database\Portal.mdf</span><span>'</span><span> , SIZE </span><span>=</span><span> 5MB , FILEGROWTH </span><span>=</span><span> 1MB ), ( NAME </span><span>=</span> N<span>'</span><span>Portal_Data_2014</span><span>'</span><span>, FILENAME </span><span>=</span> N<span>'</span><span>F:\Database\Portal_Data_2014.ndf</span><span>'</span><span> , SIZE </span><span>=</span><span> 5MB , FILEGROWTH </span><span>=</span><span> 1MB ) </span><span>LOG</span> <span>ON</span><span> ( NAME </span><span>=</span> N<span>'</span><span>Portal_log</span><span>'</span><span>, FILENAME </span><span>=</span> N<span>'</span><span>F:\Database\Portal_log.ldf</span><span>'</span><span> , SIZE </span><span>=</span><span> 2MB , FILEGROWTH </span><span>=</span> <span>10</span><span>%</span><span> ), ( NAME </span><span>=</span> N<span>'</span><span>Portal_log_2014</span><span>'</span><span>, FILENAME </span><span>=</span> N<span>'</span><span>F:\Database\Portal_log_2014.ldf</span><span>'</span><span> , SIZE </span><span>=</span><span> 2MB , FILEGROWTH </span><span>=</span> <span>10</span><span>%</span><span> )</span>
创建具有文件组的数据库:
<span>CREATE</span> <span>DATABASE</span> <span>[</span><span>Portal</span><span>]</span> <span>ON</span> <span>PRIMARY</span><span> ( NAME </span><span>=</span> N<span>'</span><span>Portal</span><span>'</span><span>, FILENAME </span><span>=</span> N<span>'</span><span>F:\Database\Portal.mdf</span><span>'</span><span> , SIZE </span><span>=</span><span> 10MB , FILEGROWTH </span><span>=</span><span> 1MB ), FILEGROUP </span><span>[</span><span>div2014</span><span>]</span><span> ( NAME </span><span>=</span> N<span>'</span><span>Portal_Data_2014</span><span>'</span><span>, FILENAME </span><span>=</span> N<span>'</span><span>F:\Database\Portal_Data_2014.ndf</span><span>'</span><span> , SIZE </span><span>=</span><span> 5MB , FILEGROWTH </span><span>=</span><span> 1MB ) </span><span>LOG</span> <span>ON</span><span> ( NAME </span><span>=</span> N<span>'</span><span>Portal_log</span><span>'</span><span>, FILENAME </span><span>=</span> N<span>'</span><span>F:\Database\Portal_log.ldf</span><span>'</span><span> , SIZE </span><span>=</span><span> 2MB , FILEGROWTH </span><span>=</span> <span>10</span><span>%</span><span> )</span>
2. 修改数据库
修改数据库语法:
<span>ALTER</span> <span>DATABASE</span><span> database_name { </span><span>add_or_modify_files<span>></span> <span>|</span> <span>add_or_modify_filegroups<span>></span><span> } </span><span>[</span><span>;</span><span>]</span> <span>add_or_modify_files<span>></span>::<span>=</span><span> { </span><span>ADD</span> <span>FILE</span> <span>filespec<span>></span> <span>[</span><span> ,...n </span><span>]</span> <span>[</span><span> TO FILEGROUP { filegroup_name } </span><span>]</span> <span>|</span> <span>ADD</span> <span>LOG</span> <span>FILE</span> <span>filespec<span>></span> <span>[</span><span> ,...n </span><span>]</span> <span>|</span> REMOVE <span>FILE</span><span> logical_file_name </span><span>|</span> MODIFY <span>FILE</span> <span>filespec<span>></span><span> } </span><span>filespec<span>></span>::<span>=</span><span> ( NAME </span><span>=</span><span> logical_file_name </span><span>[</span><span> , NEWNAME = new_logical_name </span><span>]</span> <span>[</span><span> , FILENAME = {'os_file_name' | 'filestream_path' | 'memory_optimized_data_path' } </span><span>]</span> <span>[</span><span> , SIZE = size [ KB | MB | GB | TB </span><span>]</span><span> ] </span><span>[</span><span> , MAXSIZE = { max_size [ KB | MB | GB | TB </span><span>]</span> <span>|</span><span> UNLIMITED } ] </span><span>[</span><span> , FILEGROWTH = growth_increment [ KB | MB | GB | TB| % </span><span>]</span><span> ] </span><span>[</span><span> , OFFLINE </span><span>]</span><span> ) </span><span>add_or_modify_filegroups<span>></span>::<span>=</span><span> { </span><span>|</span> <span>ADD</span> FILEGROUP <span>filegroup_name</span> <span>[</span><span> CONTAINS FILESTREAM | CONTAINS MEMORY_OPTIMIZED_DATA </span><span>]</span> <span>|</span> REMOVE FILEGROUP <span>filegroup_name</span> <span>|</span> MODIFY FILEGROUP <span>filegroup_name</span><span> { </span><span>filegroup_updatability_option<span>></span> <span>|</span> <span>DEFAULT</span> <span>|</span> NAME <span>=</span><span> new_filegroup_name } } </span><span>filegroup_updatability_option<span>></span>::<span>=</span><span> { { READONLY </span><span>|</span><span> READWRITE } </span><span>|</span> { READ_ONLY <span>|</span><span> READ_WRITE } }</span></span></span></span></span></span></span></span></span></span></span>
新增文件组:
<span>ALTER</span> <span>DATABASE</span> <span>[</span><span>Portal</span><span>]</span> <span>ADD</span> FILEGROUP <span>[</span><span>div2014</span><span>]</span>
新增文件指定文件组:
<span>ALTER</span> <span>DATABASE</span> <span>[</span><span>Portal</span><span>]</span> <span>ADD</span> <span>FILE</span><span> ( NAME </span><span>=</span> N<span>'</span><span>Portal_Data_2014</span><span>'</span><span>, FILENAME </span><span>=</span> N<span>'</span><span>F:\Database\Portal_Data_2014.ndf</span><span>'</span><span> , SIZE </span><span>=</span><span> 5MB , FILEGROWTH </span><span>=</span><span> 1MB ) </span><span>TO</span> FILEGROUP <span>[</span><span>div2014</span><span>]</span>
删除数据库文件:
<span>ALTER</span> <span>DATABASE</span> <span>[</span><span>Portal</span><span>]</span> REMOVE <span>FILE</span> Portal_Data_2014
修改数据名称:
<span>ALTER</span> <span>DATABASE</span> <span>[</span><span>Portal</span><span>]</span> MODIFY NAME <span>=</span> <span>[</span><span>Portal_2014</span><span>]</span>
<span>EXEC</span> sp_renamedb <span>[</span><span>Portal</span><span>]</span>, <span>[</span><span>Portal_2014</span><span>]</span>
修改设置默认文件组:
<span>ALTER</span> <span>DATABASE</span> <span>[</span><span>Portal</span><span>]</span> MODIFY FILEGROUP <span>[</span><span>PRIMARY</span><span>]</span> <span>DEFAULT</span>
3. 删除数据库
删除数据库语法:
<span>DROP</span> <span>DATABASE</span> { database_name <span>|</span> database_snapshot_name } <span>[</span><span> ,...n </span><span>]</span> <span>[</span><span>;</span><span>]</span>
示例:
<span>DROP</span> <span>DATABASE</span> <span>[</span><span>Portal</span><span>]</span>
4. 分离数据库
使用系统存储过程sp_detach_db分离数据库。
sp_detach_db <span>[</span><span> @dbname= </span><span>]</span> <span>'</span><span>database_name</span><span>'</span> <span>[</span><span> , [ @skipchecks= </span><span>]</span> <span>'</span><span>skipchecks</span><span>'</span><span> ] </span><span>[</span><span> , [ @keepfulltextindexfile = </span><span>]</span> <span>'</span><span>KeepFulltextIndexFile</span><span>'</span> ]
<span>EXEC</span> sp_detach_db <span>[</span><span>Portal</span><span>]</span>
直接运行分离数据库的SQL语句,可能会提示有进程(用户)正在使用,分离失败。要解决这个问题,先查看哪些进程(用户)正在使用该数据库。
查看用户和进程:
<span>USE</span> <span>[</span><span>master</span><span>]</span><span> sp_who</span>
先结束占用数据库的进程,再分离数据库:
USE [master] KILL 55 KILL 56 KILL 57 <span>EXEC</span> sp_detach_db <span>[</span><span>Portal</span><span>]</span>
5. 附加数据库
使用CREATE DATABASE附加数据库:
<span>CREATE</span> <span>DATABASE</span> <span>[</span><span>Portal</span><span>]</span> <span>ON</span><span> ( FILENAME </span><span>=</span> <span>'</span><span>F:\Database\Portal.mdf</span><span>'</span><span> ) </span><span>FOR</span> ATTACH
<span>CREATE</span> <span>DATABASE</span> <span>[</span><span>Portal</span><span>]</span> <span>ON</span><span> ( FILENAME </span><span>=</span> <span>'</span><span>F:\Database\Portal.mdf</span><span>'</span><span> ), ( FILENAME </span><span>=</span> <span>'</span><span>F:\Database\Portal_log.ldf</span><span>'</span><span> ) </span><span>FOR</span> ATTACH
使用系统存储过程附加数据库:
<span>EXEC</span> sp_attach_db <span>[</span><span>Portal</span><span>]</span>, <span>'</span><span>F:\Database\Portal.mdf</span><span>'</span>
<span>EXEC</span> sp_attach_db <span>[</span><span>Portal</span><span>]</span>, <span>'</span><span>F:\Database\Portal.mdf</span><span>'</span>, 'F:\Database\Portal_log.ldf'
6. 查看数据库信息
SQL Server中可以使用多种方式查看数据库信息,例如使用目录视图、函数、存储过程等。
6.1> 使用目录视图
使用目录视图查看数据库基本信息:
◊ sys.databse_files:查看数据库文件信息;
◊ sys.filegroups:查看数据库组信息;
◊ sys.master_files:查看数据库文件的基本信息和状态信息;
◊ sys.database:数据库和文件目录视图查看数据库的基本信息。
<span>SELECT</span> <span>*</span> <span>FROM</span> sys.databases <span>WHERE</span> name <span>=</span> <span>'</span><span>Northwind</span><span>'</span>

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

HQL dan SQL dibandingkan dalam rangka kerja Hibernate: HQL (1. Sintaks berorientasikan objek, 2. Pertanyaan bebas pangkalan data, 3. Keselamatan jenis), manakala SQL mengendalikan pangkalan data secara langsung (1. Piawaian bebas pangkalan data, 2. Boleh laku kompleks pertanyaan dan manipulasi data).

Siri Xiaomi Mi 15 dijangka akan dikeluarkan secara rasmi pada bulan Oktober, dan nama kod siri penuhnya telah didedahkan dalam pangkalan kod MiCode media asing. Antaranya, perdana Xiaomi Mi 15 Ultra diberi nama kod "Xuanyuan" (bermaksud "Xuanyuan"). Nama ini berasal daripada Maharaja Kuning dalam mitologi Cina, yang melambangkan bangsawan. Xiaomi 15 diberi nama kod "Dada", manakala Xiaomi 15Pro dinamakan "Haotian" (bermaksud "Haotian"). Nama kod dalaman Xiaomi Mi 15S Pro ialah "dijun", yang merujuk kepada Maharaja Jun, tuhan pencipta "The Classic of Mountains and Seas". Sarung siri Xiaomi 15Ultra

Sejak siri Huawei Mate60 mula dijual tahun lepas, saya secara peribadi telah menggunakan Mate60Pro sebagai telefon utama saya. Dalam hampir setahun, Huawei Mate60Pro telah melalui pelbagai peningkatan OTA, dan keseluruhan pengalaman telah dipertingkatkan dengan ketara, memberikan orang perasaan sentiasa baharu. Sebagai contoh, baru-baru ini, siri Huawei Mate60 sekali lagi menerima peningkatan besar dalam keupayaan pengimejan. Yang pertama ialah fungsi penghapusan AI baharu, yang boleh menghapuskan orang yang lalu-lalang dan serpihan secara bijak dan mengisi kawasan kosong secara automatik, kedua, ketepatan warna dan kejelasan telefoto kamera utama telah dinaik taraf dengan ketara. Memandangkan ia adalah musim kembali ke sekolah, siri Huawei Mate60 juga telah melancarkan promosi musim luruh: anda boleh menikmati diskaun sehingga 800 yuan apabila membeli telefon, dan harga permulaan serendah 4,999 yuan. Produk yang biasa digunakan dan selalunya baru dengan nilai yang hebat

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())

Pemetaan polimorfik hibernate boleh memetakan kelas yang diwarisi ke pangkalan data dan menyediakan jenis pemetaan berikut: subkelas bercantum: Cipta jadual berasingan untuk subkelas, termasuk semua lajur kelas induk. table-per-class: Cipta jadual berasingan untuk subkelas, yang mengandungi hanya lajur khusus subkelas. union-subclass: serupa dengan joined-subclass, tetapi jadual kelas induk menggabungkan semua lajur subclass.

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah

Ele.me ialah perisian yang menghimpunkan pelbagai makanan istimewa yang berbeza Anda boleh memilih dan membuat pesanan secara dalam talian kaedah operasi , ingat untuk menyemak laman web PHP Cina. Arahan tentang cara mengikat WeChat ke Ele.me: 1. Mula-mula buka perisian Ele.me, dan selepas memasuki halaman utama, kita klik [My] di sudut kanan bawah 2. Kemudian di halaman Saya, kita perlu klik [Akaun] di penjuru kiri sebelah atas; yang perlu diikat dalam halaman kebenaran WeChat dan klik Hanya [Benarkan];

HTML tidak boleh membaca pangkalan data secara langsung, tetapi ia boleh dicapai melalui JavaScript dan AJAX. Langkah-langkah termasuk mewujudkan sambungan pangkalan data, menghantar pertanyaan, memproses respons dan mengemas kini halaman. Artikel ini menyediakan contoh praktikal menggunakan JavaScript, AJAX dan PHP untuk membaca data daripada pangkalan data MySQL, menunjukkan cara untuk memaparkan hasil pertanyaan secara dinamik dalam halaman HTML. Contoh ini menggunakan XMLHttpRequest untuk mewujudkan sambungan pangkalan data, menghantar pertanyaan dan memproses respons, dengan itu mengisi data ke dalam elemen halaman dan merealisasikan fungsi HTML membaca pangkalan data.
