C#中如何用SQL语言创建数据库,把SQL语句写在哪求大神指点

C#中如何用SQL语言创建数据库,把SQL语句写在哪求大神指点,第1张

有两种方法来为数据创建一个新表,

1 我们可以用 ADONET 写出并执行 T-SQL 语句来创建表:

private void CreateTableBtn_Click(object sender, SystemEventArgs e)

{

// 打开连接

if (connState == ConnectionStateOpen)

connClose();

ConnectionString = "Integrated Security=SSPI;" +

"Initial Catalog=mydb;" +

"Data Source=localhost;";

connConnectionString = ConnectionString;

connOpen();

sql = "CREATE TABLE myTable" +

"(myId INTEGER CONSTRAINT PKeyMyId PRIMARY KEY," +

"myName CHAR(50), myAddress CHAR(255), myBalance FLOAT)";

cmd = new SqlCommand(sql, conn);

cmdExecuteNonQuery();

}

2 我们可以引用 SMO 库并用 SMO 函数来创建一个表

private void CreateTableBtn_Click(object sender, SystemEventArgs e)

{

// 建立数据库服务器

string connectionString = "";

SqlConnection connection =

new SqlConnection(connectionString);

Server server =

new Server(new ServerConnection(connection));

// 在我的个人数据库中创建表

Database db = serverDatabases["mydb"];

// 建立 TestTable 的新表

Table newTable = new Table(db, "TestTable");

// 添加主键 ID 列

Column idColumn = new Column(newTable, "ID");

idColumnDataType = DataTypeInt;

idColumnNullable = false;

idColumnIdentity = true;

idColumnIdentitySeed = 1;

idColumnIdentityIncrement = 1;

// 添加 "Title" 列

Column titleColumn = new Column(newTable, "Title");

titleColumnDataType = DataTypeVarChar(50);

titleColumnNullable = false;

// 为 Table 对象添加列

newTableColumnsAdd(idColumn);

newTableColumnsAdd(titleColumn);

// 为表创建一个主键的索引

Index index = new Index(newTable, "PK_TestTable");

indexIndexKeyType = IndexKeyTypeDriPrimaryKey;

// 主键索引包括 1 列 "ID"

indexIndexedColumnsAdd(new IndexedColumn(index, "ID"));

// 表中添加一个新的索引

newTableIndexesAdd(index);

// 在数据库中实际创建一个表

newTableCreate();

}

手动创建oracle10g数据库

以创建名为“MYNEWDB”为例

1 创建必须的文件和文件夹

(1)在D:\oracle\product\1020\admin下建MYNEWDB文件夹

在D:\oracle\product\1020\admin\MYNEWDB下建adump,bdump,cdump,udump文件夹

(2)在D:\oracle\product\1020\oradata下建MYNEWDB文件夹

(3)在D:\oracle\product\1020\db_1\database下建initMYNEWDBora文件,内容如下

MYNEWDB__db_cache_size=356515840

MYNEWDB__java_pool_size=4194304

MYNEWDB__large_pool_size=4194304

MYNEWDB__shared_pool_size=209715200

MYNEWDB__streams_pool_size=0

audit_file_dest='D:\oracle\product\1020/admin/MYNEWDB/adump'

background_dump_dest='D:\oracle\product\1020/admin/MYNEWDB/bdump'

compatible='102010'

control_files='D:\oracle\product\1020/oradata/MYNEWDB/\control01ctl','D:\oracle\product\1020/oradata/MYNEWDB/\control02ctl','D:\oracle\product\1020/oradata/MYNEWDB/\control03ctl'

core_dump_dest='D:\oracle\product\1020/admin/MYNEWDB/cdump'

db_block_size=8192

db_domain=''

db_file_multiblock_read_count=16

db_name='MYNEWDB'

db_recovery_file_dest='D:\oracle\product\1020/flash_recovery_area'

db_recovery_file_dest_size=2147483648

dispatchers='(PROTOCOL=TCP) (SERVICE=MYNEWDBXDB)'

job_queue_processes=10

open_cursors=300

pga_aggregate_target=192937984

processes=150

remote_login_passwordfile='EXCLUSIVE'

sga_target=579862528

undo_management='AUTO'

undo_tablespace='UNDOTBS1'

user_dump_dest='D:\oracle\product\1020/admin/MYNEWDB/udump'

2建议设置下ORACLE_HOME=D:\oracle\product\1020\db_1,因为下面在执行创建数据库时会自动执行$ORACLE_HOME\rdbms\admin\sqlbsq的脚本,不设怕找不到

3 创建实例

选择“程序-->运行”,输入“cmd”命令,打开DOS界面

(1)将环境变量ORACLE_SID设置为“MYNEWDB”

C:\SET ORACLE_SID=MYNEWDB

(2)利用ORADIM命令创建MYNEWDB数据库

C:\ORADIM -NEW -SID MYNEWDB -INTPWD MYNEWDB -STARTMODE MANUAL -PFILE D:\oracle\product\1020\db_1\database

注意:ORADMIN是Oracle提供的一个对实例进行管理的工具,可以创建、修改、删除、启动和关闭一个

4、连接并启动实例

1 C:\sqlplus /nolog

2 SQL>connect sys/mynewdb as sysdba;

3 SQL>startup nomount;

5、使用create database 语句创建数据库

1 SQL> create database MYNEWDB

2 maxlogfiles 10

3 maxlogmembers 5

4 maxdatafiles 20

5 maxloghistory 200

6 maxinstances 5

7 logfile

8 group 1 'D:\oracle\product\1020\oradata\mynewdb\redo01log' size 10m,

9 group 2 'D:\oracle\product\1020\oradata\mynewdb\redo02log' size 10m,

10 group 3 'D:\oracle\product\1020\oradata\mynewdb\redo03log' size 10m

11 datafile 'D:\oracle\product\1020\oradata\mynewdb\system01dbf' size 100m

12 sysaux datafile 'D:\oracle\product\1020\oradata\mynewdb\sysaux01dbf' size 50m

13 undo tablespace UNDOTBS1

14 datafile 'D:\oracle\product\1020\oradata\mynewdb\undo01dbf' size 40m

15 default temporary tablespace temp

16 tempfile 'D:\oracle\product\1020\oradata\mynewdb\temp01dbf' size 20m

17 extent management local uniform size 128k

18 character set ZHS16GBK

19 national character set AL16UTF16

注意:sysaux是创建10g数据库时必须的,创建9i可以不要

UNDOTBS1这个名字不能改成其他的,否则报错

在执行create database 语句的同时,自动执行$ORACLE_HOME\rdbms\admin\sqlbsq脚本,创建SYSTEM表空间和SYSTEM回退段、建立SYS和SYSTEM账号、建立数据字典基础表、建立数据字典索引、创建预定义角色等。

6、创建附加的表空间(未验证)

用create database语句创建的数据库中只有SYSTEM、UNDOTBS和TEMPTBS三个表空间,还需要创建其他

一些额外的表空间

1 SQL>create tablespace users

2 datafile 'd:\oracle\oradata\mynewdb\users01dbf' size 100M

3 reuse autoextend on next 1280K maxsize unlitited

4 extend management local;

5 SQL>create tablespace index

6 datafile 'd:\oracle\oradata\mynewdb\index01dbf' size 100M

7 reuse autoextend on next 1280K maxsize unlimited

extend management local;

8、运行脚本创建数据字典视图

执行两个脚本语句:

----用于创建数据字典视图,包括V$动态性能视图和它们的同义词,同时将授予PUBLIC角色对这些同义

词的访问权限

1 SQL>@D:\oracle\product\1020\db_1\rdbms\admin\catalogsql;

----用于建立对PL/SQL程序设计的支持

1 SQL>@D:\oracle\product\1020\db_1\rdbms\admin\catprocsql;

9、创建服务器初始化参数文件

1 SQL>create spfile from file='d:\oracle\product\1020\db_1\database\initMYNEWDBora';(未验证)

执行该语句将在$ORACLE_HOME\database 目录下创建名为spfileMYNEWDBora的服务器初始化参数文件

需要重启数据库

1 SQL>shutdown immediate;

2 SQL>connect sys/mynewdb as sysdba;

SQL>startup ;

最后注意的地方:因为我在创建数据库的时候没有提示我输入sys和system密码,所以下面我们还需要修改sys密码(就当忘设了),方法如下:

sqlplus /nolog;

connect / as sysdba

alter user sys identified by 新密码;

alter user system identified by 新密码;

常见的主要有三种方法:

如果所有表都是MyISAM类型的话,可以直接修改文件夹的名字。

关闭mysql→把data目录中的db_name目录重命名为new_db_name→开启mysql

新建数据库,在新的数据库里重命名所有旧数据库中的表,再删除旧的数据库。具体 *** 作命令如下:创建新的数据库→重命名数据表名称→删除旧的数据库。

CREATE DATABASE new_db_name;

RENAME TABLE db_nametable1 TO new_db_nametable1,db_nametable2 TO new_db_nametable2;

DROP DATABASE db_name;

利用mysqldump命令从旧的数据导出数据,再导入新数据库。具体 *** 作命令如下:导出数据→创建新的数据库→导入数据→删除旧的数据库。

mysqldump -u root -p -h ip db_name > db_name_dumpSQL

mysql -u root -p -h ip -e “CREATE DATABASE new_db_name”

mysql -u root -p -h ip new_db_name < db_name_dumpSQL

mysql -u root -p -h ip -e “DROP DATABASE db_name”

创建数据库的SQL语句:

create database stuDB

on primary -- 默认就属于primary文件组,可省略

(

/--数据文件的具体描述--/

name='stuDB_data', -- 主数据文件的逻辑名称

filename='D:\stuDB_datamdf', -- 主数据文件的物理名称

size=5mb, --主数据文件的初始大小

maxsize=100mb, -- 主数据文件增长的最大值

filegrowth=15%--主数据文件的增长率

)

log on

(

/--日志文件的具体描述,各参数含义同上--/

name='stuDB_log',

filename='D:\stuDB_logldf',

size=2mb,

filegrowth=1mb

)

删除这个数据库,SQL Server将数据库的清单存放在master系统数据库的sysdatabases表中,只需要查看该表是否存在于该数据库中就可以

了,语句如下:

use master -- 设置当前数据库为master,以便访问sysdatabases表

go

if exists(select from sysdatabases where name='stuDB')

drop database stuDB

go

创建表和删除表的SQL语句如下:

use StuDB

go

if exists(select from sysobjects where name='stuMarks')

drop table stuMarks

create table stuMarks

(

ExamNo int identity(1,1) primary key,

stuNo char(6) not null,

writtenExam int not null,

LabExam int not null

)

go

-- 其中,列属性"identity(起始值,递增量)" 表示"ExamNo"列为自动编号, 也称为标识列

alter table 表名

add constraint 约束名 约束类型 具体的约束说明

alter table 表名

drop constraint 约束名

alter table stuMarks

add constraint UQ_stuNo Unique(stuNo)

alter table stuMarks

drop constraint UQ_stuNo

/--添加SQL登录账户--/

exec sp_addlogin 'xie', '123456' -- 账户名为xie,密码为123456

--删除xie账户名

exec sp_droplogin 'xie'

/--在stuDB数据库中添加两个用户(必须存在)--/

use stuDB

go

exec sp_grantdbaccess 'xie','123456'

go

-- 提示:SQL Server 中的dbo用户是具有在数据库中执行所有活动权限的用户,表示数据库的所有者(owner),一般来说,

-- 如果创建了某个数据库,就是该数据库的所有者,即dbo用户,dbo用户是一个比较特殊的数据库用户,无法删除,且此用

-- 户始终出现在每个数据库中

/ --给数据库用户授权-- /

-- 授权的语法如下

-- grant 权限 [on 表名] to 数据库用户

use stuDB

go

grant select,update,insert on stuMarks to xie

grant create table to xie

go

在大数据时代,“多种架构支持多类应用”成为数据库行业应对大数据的基本思路,数据库行业出现互为补充的三大阵营,适用于事务处理应用的OldSQL、适用于数据分析应用的NewSQL和适用于互联网应用的NoSQL。但在一些复杂的应用场景中,单一数据库架构都不能完全满足应用场景对海量结构化和非结构化数据的存储管理、复杂分析、关联查询、实时性处理和控制建设成本等多方面的需要,因此不同架构数据库混合部署应用成为满足复杂应用的必然选择。不同架构数据库混合使用的模式可以概括为:OldSQL+NewSQL、OldSQL+NoSQL、NewSQL+NoSQL三种主要模式。下面通过三个案例对不同架构数据库的混合应用部署进行介绍。

OldSQL+NewSQL 在数据中心类应用中混合部署

采用OldSQL+NewSQL模式构建数据中心,在充分发挥OldSQL数据库的事务处理能力的同时,借助NewSQL在实时性、复杂分析、即席查询等方面的独特优势,以及面对海量数据时较强的扩展能力,满足数据中心对当前“热”数据事务型处理和海量历史“冷”数据分析两方面的需求。OldSQL+NewSQL模式在数据中心类应用中的互补作用体现在,OldSQL弥补了NewSQL不适合事务处理的不足,NewSQL弥补了OldSQL在海量数据存储能力和处理性能方面的缺陷。

商业银行数据中心采用OldSQL+NewSQL混合部署方式搭建,OldSQL数据库满足各业务系统数据的归档备份和事务型应用,NewSQL MPP数据库集群对即席查询、多维分析等应用提供高性能支持,并且通过MPP集群架构实现应对海量数据存储的扩展能力。

以上就是关于C#中如何用SQL语言创建数据库,把SQL语句写在哪求大神指点全部的内容,包括:C#中如何用SQL语言创建数据库,把SQL语句写在哪求大神指点、如何手工创建一个Oracle 10g数据库、怎样在mysql里面修改数据库名称等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10190523.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存