SQL Server Express = SQL Server的精简版 SQL Server Express LocalDB = SQL Server Express的轻量版,可嵌入应用程序使用 ∴SQL Server Express LocalDB = SQL Server的精简精简版 一般来说,随着Visual Studio的安装,在默认情况下会有Express版或者LocalDB版的SQL Server一并安装。 我的VS2013自带的就是SQL Server 2012 Express LocalDB版本。

根据个人见解比较一下三大关系型数据库的异同:

派系 类别 库/表/用户关系 语句友好程度
MySQL/MariaDB 用户与数据分离,库是一系列表的集合 友好 就是传说中的写作文
SQL Server 用户与数据分离,库是一系列表的集合 一脸懵逼 (独家Transact-SQL)
Oracle DB 库不知道去哪了,用户是一系列表的集合 还行 (独家PL/SQL)

(由表自然容易看出,在下是比较倾向于MySQL系的RDBMS的)

MySQL的使用就像使用常用的操作系统一样:多个用户访问相同数据,通过权限来确保数据的安全性。由于开发小型项目经常用到,而且也是开源,使用的人也多,疑难解答很方便,提出意见被接受的概率(大概)也比较大。 但是据说可能由于没有足够的技术积淀,在大型项目上的表现会不是很好。但是小项目写起来很爽啊

相反,作为商业级的大型数据库,Oracle能够在大型项目中有较稳定的表现。(咳咳,这是他家代理的营销说的) 个人感觉是,在基础使用上和MySQL没有太大的差别,主要就是表是按照用户来聚集的,也就是说,可以将表的绝对定位表示为类似于user.table这种感觉。和本文的主体一样,实例似乎在这两种数据库上有较大的重要性,运行之前还得起个名字。回收站倒是个神奇操作。至于PL/SQL的话,个人感觉既然项目不可能完全用这个语言来写的话,为啥不用技术栈里的语言来写呢。反正初学之时感觉这是个鸡肋,至于之后的话,或许会因为执行效率较高什么的,能够派上用场吧。

SQL Server的使用体验是奇妙的。似乎是巨硬家的传统一样,几乎所有的自产软件都只能在自家的田牌系统下运行。 而这个神奇的数据库系统竟然可以直接拿Windows的本地用户账号去登陆。(感觉相当不利于安全管理啊) 接下来稍微说说最基本的操作吧。

安装文件夹的根目录名为Microsoft SQL Server。 用来管理数据库实例和进行连接的程序放在Microsoft SQL Server\{version}\Tools\Binn下。 (某游戏玩家自作聪明地在LocalDBBinn目录下,对着sqlservr.exe折腾了老半天,还以为真的安装损坏了

创建/启动/停止/删除实例

SqlLocalDB create/start/stop/delete {instance-name}

展示现有实例信息

SqlLocalDB info {instance-name}

如果info后不加实例名的话,会展示出所有实例的信息。

连接至数据库

SQLCMD -S (localdb)\{instance-name} -d {database-name}

这样会用当前Windows用户账户登陆到该数据库。

SQLCMD连接上以后,就可以输入Transact-SQL语句了。 在下常用的语句抄录如下:

查询所有的数据库名:

SELECT name FROM master..sysdatabases WHERE name NOT IN ('master', 'model', 'msdb', 'tempdb', 'northwind', 'pubs')

创建数据库:

CREATE DATABASE {db-name}

获取当前用户名:

SELECT system_user

获取当前数据库名:

SELECT name FROM master..SysDatabases WHERE dbid=(SELECT dbid FROM master..SysProcesses WHERE spid = @@spid)

获取当前数据库中的所有表名:

SELECT name FROM {db_name}..sysobjects WHERE xtype='U' ORDER BY name

其中xtype中填U表示用户表,S表示系统表。

标签: none

添加新评论