如何创建一个access数据库

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何创建一个access数据库相关的知识,希望对你有一定的参考价值。

创建新数据库文件的方法有很多。主要有两种方法:一、空白数据库,直接结构与数据同时进行输入(如果果建立完成后再修改结构,原内容可能丢失);二、结构和数据分两步进行了操作(推荐);那么第一种方法注意在ACCESS主窗口中区域左上角的"空白数据库"按钮。该按钮和"文件"菜单中的"新建"按钮都可以展现主窗口右侧的"空白数据库"区域。单击二者中的任何一个按钮都可以转换到主窗口,如图右所示。" 空白数据库"区域代替了主窗口中的最近打开的数据库列表。Access数据库创建及操作
在"空白数据库"区域的"文件名"框中输入新数据库的名称。默认情况下, Access 会在一个最近使用Access 打开的Windows 文件夹中创建新的数据库文件。如需使用不同的文件夹,可以使用"文件名"右侧的文件夹图标进行浏览并将数据库创建在所需的位置。
Access 为新数据库提供了Dat abasel.accdb 的默认名称。
需确保提供的名称可以识别。在图右中,新的数据库命名为教务信息管理.accdb (扩展名.accdb 为可选项,这是因为在未提供扩展名时, Access 将自动提供扩展名)。创建完新的数据库后, Access 将自动打开该数据库。
图右 在"空白数据库" 区域的"文件名"框中输入新数据库的名称
注意: Access 2007 可以识别所有以前版本的Access 数据库文件. 默认情况下,将使用2007 格式(使用.accdb 扩展名),但是可以指定Access 2000 、2002-2003或者Access 2007 为默认格式.使用"文件"->"Access 选项" ~ "常用",选择"默认文件格式"选项并且选定所需要的格式. 例如,当一个Access 2007 文件大部分内容都在Access 2000 数据库中完成,此时就应该选择2000 格式来保留向后兼容.依然使用Access 2000 的用户将无法打开以_accdb 格式创建的Access 文件.
参考技术A 创建新数据库文件的方法有很多。主要有两种方法:一、空白数据库,直接结构与数据同时进行输入(如果果建立完成后再修改结构,原内容可能丢失);二、结构和数据分两步进行了操作(推荐);那么第一种方法注意在ACCESS主窗口中区域左上角的"空白数据库"按钮。该按钮和"文件"菜单中的"新建"按钮都可以展现主窗口右侧的"空白数据库"区域。单击二者中的任何一个按钮都可以转换到主窗口,如图右所示。" 空白数据库"区域代替了主窗口中的最近打开的数据库列表。Access数据库创建及操作
在"空白数据库"区域的"文件名"框中输入新数据库的名称。默认情况下, Access 会在一个最近使用Access 打开的Windows 文件夹中创建新的数据库文件。如需使用不同的文件夹,可以使用"文件名"右侧的文件夹图标进行浏览并将数据库创建在所需的位置。
Access 为新数据库提供了Dat abasel.accdb 的默认名称。
需确保提供的名称可以识别。在图右中,新的数据库命名为教务信息管理.accdb (扩展名.accdb 为可选项,这是因为在未提供扩展名时, Access 将自动提供扩展名)。创建完新的数据库后, Access 将自动打开该数据库。
图右 在"空白数据库" 区域的"文件名"框中输入新数据库的名称
注意: Access 2007 可以识别所有以前版本的Access 数据库文件. 默认情况下,将使用2007 格式(使用.accdb 扩展名),但是可以指定Access 2000 、2002-2003或者Access 2007 为默认格式.使用"文件"->"Access 选项" ~ "常用",选择"默认文件格式"选项并且选定所需要的格式. 例如,当一个Access 2007 文件大部分内容都在Access 2000 数据库中完成,此时就应该选择2000 格式来保留向后兼容.依然使用Access 2000 的用户将无法打开以_accdb 格式创建的Access 文件.
参考技术B 1、开始--程序--打开Microsoft Office Access 2013
2、菜单逗文件地--逗创建地 --逗空数据库地
3、选择数据库保存的位置及数据库名称,比如testdb;
4、这样我们就创建了一个"testdb"的access数据库!本回答被提问者采纳
参考技术C

打开Office Access软件,就可以直接创建了。如使用代码创建,可以这样,如C#代码

创建数据库和表

DOX.Catalog catalog = new ADOX.Catalog();  
//创建Library数据库  
catalog.Create("Provider = Microsoft.ACE.OLEDB.12.0;Data Source = .\\\\Data\\\\Student.accdb;Jet OLEDB:Database Password = 123456");  
//释放Catalog对Student.accdb的占用  
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(catalog.ActiveConnection);  
System.Runtime.InteropServices.Marshal.FinalReleaseComObject(catalog);

string OleDbConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0;Data Source = .\\\\Data\\\\Student.accdb;Jet OLEDB:Database Password = 123456";  
OleDbConnection cnn = new OleDbConnection(OleDbConnectionString);  
cnn.Open();  
OleDbCommand cmd = new OleDbCommand("create table Info (id char(15) primary key, name char(50))", cnn);  
cmd.ExecuteNonQuery();  
cmd.Dispose();  
cnn.Close();  
cnn.Dispose();

下面是是一个完整的ASP.NET代码

using System;
using ADOX;
namespace WebPortal

 /// <summary>
 /// CreateAccessDB 的摘要说明。
 /// 对于不同版本的ADO,需要添加不同的引用
  /// 请添加引用Microsoft ADO Ext. 2.7 for DDL and Security
  /// 请添加引用Microsoft ADO Ext. 2.8 for DDL and Security
 /// </summary>
 public class CreateAccessDB : System.Web.UI.Page
 
    private void Page_Load(object sender, System.EventArgs e)
    
      //为了方便测试,数据库名字采用比较随机的名字,以防止添加不成功时还需要重新启动IIS来删除数据库。
      string dbName = "D://NewMDB"+DateTime.Now.Millisecond.ToString()+".mdb";
      ADOX.CatalogClass cat = new ADOX.CatalogClass();
      cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName +";"); 
      Response.Write("数据库:" + dbName + "已经创建成功!");
      ADOX.TableClass tbl = new ADOX.TableClass();
      tbl.ParentCatalog = cat;
      tbl.Name="MyTable";
      //增加一个自动增长的字段
      ADOX.ColumnClass col = new ADOX.ColumnClass();
      col.ParentCatalog = cat;
      col.Type=ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
      col.Name = "id";
      col.Properties["Jet OLEDB:Allow Zero Length"].Value= false;
      col.Properties["AutoIncrement"].Value= true;
      tbl.Columns.Append (col,ADOX.DataTypeEnum.adInteger,0);
      //增加一个文本字段
      ADOX.ColumnClass col2 = new ADOX.ColumnClass();
      col2.ParentCatalog = cat;
      col2.Name = "Description";
      col2.Properties["Jet OLEDB:Allow Zero Length"].Value= false;
      tbl.Columns.Append (col2,ADOX.DataTypeEnum.adVarChar,25);
      //设置主键
      tbl.Keys.Append("PrimaryKey",ADOX.KeyTypeEnum.adKeyPrimary,"id","","");
      cat.Tables.Append (tbl);
      Response.Write("<br>数据库表:" + tbl.Name + "已经创建成功!");
      tbl=null;
      cat = null;
    
    #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    
      //
      // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
      //
      InitializeComponent();
      base.OnInit(e);
    
    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
        
      this.Load += new System.EventHandler(this.Page_Load);
    
    #endregion
  

如何使用Tweepy创建一个pandas数据框?

在Python 3中,我制作程序以在Twitter中提取帖子和喜欢:

import tweepy
import pandas as pd

consumer_key = ''
consumer_secret = ''
access_token = ''
access_token_secret = ''
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

此函数接收配置文件的教学分类(仅适用于数据库组织)和配置文件的名称。它创建一个包含字典的列表,然后返回:

def linhadotempo(posicao, valor):
    tela = api.user_timeline(valor) 
    bolha = []
    for status in tela:
        dicionario = {"nome": valor, "posicionamento": posicao, "posts_links": status.text, "curtidas": status.favorite_count}
        bolha.append(dicionario)
    return bolha

Twitter个人资料的名称列表及其教学评级。然后转换成数据帧:

data = {
'nome': ['jeanwyllys_real', 'lucianagenro', 'jairbolsonaro', 'MBLivre'],
'posicionamento': ['esquerda', 'esquerda', 'direita', 'direita']
        }
perfis = pd.DataFrame(data, columns=['nome','posicionamento'])
perfis.reset_index()
    index   nome    posicionamento
0   0   jeanwyllys_real     esquerda
1   1   lucianagenro    esquerda
2   2   jairbolsonaro   direita
3   3   MBLivre     direita

我创建了一个最终列表,将函数中创建的列表放在一起。我在配置文件的数据框中进行迭代以激活该功能

bolhas = []
for num, row in perfis.iterrows():
    bolha = linhadotempo(row['posicionamento'], row['nome'])
    bolhas.append(bolha)

我的意图是用这个创建一个最终的数据帧,但它没有成功。我的意图是列“curtidas”,“nome”,“posicionamento”和“posts_links”

bolhas_final = pd.DataFrame(bolhas)
bolhas_final.reset_index()
index   0   1   2   3   4   5   6   7   8   ...     10  11  12  13  14  15  16  17  18  19
0   0   {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...   ...     {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...   {'nome': 'jeanwyllys_real', 'posicionamento': ...
1   1   {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...   ...     {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...   {'nome': 'lucianagenro', 'posicionamento': 'es...
2   2   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   ...     {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...   {'nome': 'jairbolsonaro', 'posicionamento': 'd...
3   3   {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...   ...     {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...   {'nome': 'MBLivre', 'posicionamento': 'direita...

通过显示“bolhas”的内容,我相信错误是append在列表中创建了几个列表:

[[{'curtidas': 122,
   'nome': 'jeanwyllys_real',
   'posicionamento': 'esquerda',
   'posts_links': 'A expressão "ideologia de gênero" é uma farsa criada para combater a promoção da igualdade e perpetrar a violência… https:///lWdLANLzc5'},
  {'curtidas': 316,
   'nome': 'jeanwyllys_real',
   'posicionamento': 'esquerda',
   'posts_links': 'O termo fantasioso "ideologia de gênero" foi criado por aqueles que falam em "ditadura gay". Quando o ministro ileg… https:///zv2aY31X9p'},
...
 [{'curtidas': 378,
   'nome': 'lucianagenro',
   'posicionamento': 'esquerda',
   'posts_links': 'Que coisa mais ridícula o ministro da Educação falando em rede nacional que a nova base curricular "está sendo entr… https:///h6l95GhdWT'},
...
{'curtidas': 500,
   'nome': 'MBLivre',
   'posicionamento': 'direita',
   'posts_links': 'URGENTE: Lula pede 1 milhão de reais em indenização moral a Dallagnol e Justiça nega https://d9vVwRH2IS via @'}]]

有没有正确的方法将创建的列表合并为一个?我想在创建数据帧时保留此结构。

答案

导入我们将要使用的所需库:

import pandas as pd
import numpy as np
import tweepy
import json

提供连接Twitter API的密钥:

consumer_key = '....'
consumer_secret = '....'
access_token = '....'
access_secret = '....'

下一步是创建OAuthHandler实例......

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)

...然后获得对Twitter API的访问权限。

auth.set_access_token(access_token, access_secret)

最后,我们创建了一个API对象,我们将使用它来获取推文:

api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)

从FC Barcelona twitter账户中获取最近20条推文:

last_20_tweets_of_FC_Barcelona = api.user_timeline('FCBarcelona'

然后在这个代码块中我们隔离了我们下载的每个tweepy状态对象的json部分,并将它们全部添加到列表中....

my_list_of_dicts = []
for each_json_tweet in last_20_tweets_of_FC_Barcelona:
    my_list_of_dicts.append(each_json_tweet._json)

...然后我们将此列表写入txt文件:

with open('tweet_json_Barca.txt', 'w') as file:
        file.write(json.dumps(my_list_of_dicts, indent=4))

现在我们将从tweet_json.txt文件创建一个DataFrame:

my_demo_list = []
with open('tweet_json_Barca.txt', encoding='utf-8') as json_file:  
    all_data = json.load(json_file)
    for each_dictionary in all_data:
        tweet_id = each_dictionary['id']
        text = each_dictionary['text']
        favorite_count = each_dictionary['favorite_count']
        retweet_count = each_dictionary['retweet_count']
        created_at = each_dictionary['created_at']
        my_demo_list.append({'tweet_id': str(tweet_id),
                             'text': str(text),
                             'favorite_count': int(favorite_count),
                             'retweet_count': int(retweet_count),
                             'created_at': created_at,
                            })
        #print(my_demo_list)
        tweet_json = pd.DataFrame(my_demo_list, columns = 
                                  ['tweet_id', 'text', 
                                   'favorite_count', 'retweet_count', 
                                   'created_at'])

以上是关于如何创建一个access数据库的主要内容,如果未能解决你的问题,请参考以下文章

C#如何创建一张access 表格

在access利用SQL语句中如何创建表?

如何从 access 数据库创建非常大的 excel 文件?

如何将ACCESS的表和查询创建成动态的WEB?

如何创建一个通用的 MS Access 表单?

access建立查询时,啥情况下两表之间要建立关系