Table creation/Postal addresses: Difference between revisions

m
syntax highlighting fixup automation
m (→‎{{header|Phix}}: syntax coloured, marked p2js incompatible)
m (syntax highlighting fixup automation)
Line 15:
 
<!-- {{does not work with|ELLA ALGOL 68|Any (with appropriate job cards) - tested with release 1.8.8d.fc9.i386 - needed formatted transput}} -->
<langsyntaxhighlight lang="algol68">MODE ADDRESS = STRUCT(
INT page,
FLEX[50]CHAR street,
Line 60:
# set(address table, page OF john brown,1,1); - standard set page not available in a68g #
put bin(address table, john brown);
close(address table)</langsyntaxhighlight>
Output:
<pre>
Line 71:
 
=={{header|Apache Derby}}==
<langsyntaxhighlight SQLlang="sql">create table Address (
addrID integer primary key generated by default as identity,
addrStreet varchar(50) not null,
Line 78:
addrZip char(10) not null
);
</syntaxhighlight>
</lang>
'''Interactive session:
<pre style="height: 30em; overflow: scroll">
Line 129:
=={{header|Arturo}}==
 
<langsyntaxhighlight lang="rebol">db: open.sqlite "addresses.db"
 
query db {!sql
Line 141:
}
 
close db</langsyntaxhighlight>
 
=={{header|AWK}}==
Line 149:
This version uses the AWK pipe, 'getline' function, and the sqlite3 command line program.
 
<langsyntaxhighlight lang="awk">#!/bin/sh -f
awk '
BEGIN {
Line 181:
}
 
'</langsyntaxhighlight>
 
=={{header|C}}==
{{libheader|SQLite}}
<langsyntaxhighlight lang="c">#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>
Line 216:
}
return EXIT_SUCCESS;
}</langsyntaxhighlight>
 
=={{header|Clojure}}==
<langsyntaxhighlight lang="clojure">(require '[clojure.java.jdbc :as sql])
; Using h2database for this simple example.
(def db {:classname "org.h2.Driver"
Line 232:
[:state "varchar"]
[:zip "varchar"]))
</syntaxhighlight>
</lang>
 
=={{header|EchoLisp}}==
<langsyntaxhighlight lang="scheme">
(lib 'struct)
(lib 'sql)
Line 252:
[0] 15 Gallubert 29 rue de l'Ermitage Paris Seine 75020
[1] 16 Brougnard 666 rue des Cascades Paris Seine 75042
</syntaxhighlight>
</lang>
 
=={{header|Erlang}}==
Erlang has built in databases. This is the the one with most features: Mnesia. There are database connectors to other databases, too.
<syntaxhighlight lang="erlang">
<lang Erlang>
-module( table_creation ).
 
Line 266:
mnesia:start(),
mnesia:create_table( address, [{attributes, record_info(fields, address)}] ).
</syntaxhighlight>
</lang>
{{out}}
<pre>
Line 275:
=={{header|FunL}}==
FunL has built-in support for H2 and comes bundled with the H2 database engine.
<langsyntaxhighlight lang="funl">import db.*
import util.*
 
Line 311:
print( TextTable.apply(result) )
 
conn.close()</langsyntaxhighlight>
 
{{out}}
Line 325:
 
=={{header|Go}}==
<langsyntaxhighlight lang="go">package main
 
import (
Line 371:
fmt.Println(field, storage)
}
}</langsyntaxhighlight>
{{out}}
<pre>
Line 386:
{{libheader|sqlite-simple}}
 
<langsyntaxhighlight lang="haskell">{-# LANGUAGE OverloadedStrings #-}
 
import Database.SQLite.Simple
Line 400:
\addrZIP TEXT NOT NULL \
\)"
close db</langsyntaxhighlight>
 
=={{header|J}}==
J is a programming language, not a database, but it ships with a database built in the programming language called [[j:JDB|JDB]]. Using that, assuming <tt>hd</tt> is your database, then:
 
<langsyntaxhighlight lang="j"> Create__hd 'Address';noun define
addrID autoid;
addrStreet varchar
Line 411:
addrState char
addrZip char
)</langsyntaxhighlight>
 
Of course J can connect external databases too, using e.g. [[j:Studio/ODBC%20Basics|ODBC]]. See the [[j:DB|list of J database topics]].
Line 418:
{{works with|Julia|0.6}}
 
<langsyntaxhighlight lang="julia">using SQLite
 
db = SQLite.DB()
Line 428:
addrState TEXT NOT NULL,
addrZIP TEXT NOT NULL)
""")</langsyntaxhighlight>
 
=={{header|Kotlin}}==
Rather than use an external database, we use the built-in RandomAccessFile class for his task. The data used is the same as for the REXX entry.
<langsyntaxhighlight lang="scala">// Version 1.2.41
 
import java.io.File
Line 520:
println(Address.readRecord(file, i.toLong()))
}
}</langsyntaxhighlight>
 
{{output}}
Line 542:
Lasso has excellent support for connecting to and handling databases.
 
<langsyntaxhighlight Lassolang="lasso">// connect to a Mysql database
inline(-database = 'rosettatest', -sql = "CREATE TABLE `address` (
`id` int(11) NOT NULL auto_increment,
Line 553:
") => {^
error_msg
^}</langsyntaxhighlight>
Output:
<pre>No error</pre>
Line 559:
=={{header|Lua}}==
Using LJSQLite3 - compatible with LuaJIT and supplied in the ULua distribution.
<langsyntaxhighlight Lualang="lua">-- Import module
local sql = require("ljsqlite3")
 
Line 576:
 
-- Explicitly close connection
conn:close()</langsyntaxhighlight>
 
=={{header|Mathematica}}/{{header|Wolfram Language}}==
<langsyntaxhighlight Mathematicalang="mathematica">TableCreation="CREATE TABLE address (
addrID INTEGER PRIMARY KEY AUTOINCREMENT,
addrStreet TEXT NOT NULL, addrCity TEXT NOT NULL,
Line 585:
Needs["DatabaseLink`"]
conn=OpenSQLConnection[ JDBC[ "mysql","databases:1234/conn_test"], "Username" -> "test"]
SQLExecute[ conn, TableCreation]</langsyntaxhighlight>
 
=={{header|MySQL}}==
<langsyntaxhighlight lang="mysql">CREATE TABLE `Address` (
`addrID` int(11) NOT NULL auto_increment,
`addrStreet` varchar(50) NOT NULL default '',
Line 595:
`addrZIP` char(10) NOT NULL default '',
PRIMARY KEY (`addrID`)
);</langsyntaxhighlight>
 
=={{header|NetRexx}}==
Line 602:
{{libheader|Apache Derby}}
This sample creates a table in an embedded Apache Derby database.
<langsyntaxhighlight NetRexxlang="netrexx">/* NetRexx */
options replace format comments java crossref symbols binary
 
Line 662:
createTable()
return
</syntaxhighlight>
</lang>
 
=={{header|Nim}}==
<langsyntaxhighlight lang="nim">import db_sqlite as db
#import db_mysql as db
#import db_postgres as db
Line 682:
addrState TEXT NOT NULL,
addrZIP TEXT NOT NULL)"""
c.close()</langsyntaxhighlight>
 
=={{header|ooRexx}}==
<langsyntaxhighlight lang="oorexx">/* REXX ***************************************************************
* 17.05.2013 Walter Pachl translated from REXX version 2
* nice try? improvements are welcome as I am rather unexperienced
Line 725:
Say ' state -->' self~state
Say ' zip -->' self~zip
Say copies('-',40)</langsyntaxhighlight>
Output is as for REXX version 2
 
=={{header|Oracle}}==
<langsyntaxhighlight lang="sql">CREATE SEQUENCE seq_address_pk START BY 100 INCREMENT BY 1
/
CREATE TABLE address (
Line 739:
CONSTRAINT address_pk1 PRIMARY KEY ( addrID )
)
/</langsyntaxhighlight>
 
=={{header|Oz}}==
Line 748:
 
The SQLite version that comes with Ozsqlite does not understand "AUTOINCREMENT".
<langsyntaxhighlight lang="oz">declare
[Sqlite] = {Module.link ['x-ozlib:/sqlite/Sqlite.ozf']}
 
Line 769:
finally
{Sqlite.close DB}
end</langsyntaxhighlight>
 
=={{header|Perl}}==
<langsyntaxhighlight lang="perl">use DBI;
 
my $db = DBI->connect('DBI:mysql:database:server','login','password');
Line 788:
 
my $exec = $db->prepare($statment);
$exec->execute;</langsyntaxhighlight>
 
This example uses mysql, but DBI supports a extensive list of database drivers. See [http://dbi.perl.org/ dbi.perl.org] for more info.
Line 794:
=={{header|Phix}}==
{{libheader|SQLite}}
<!--<langsyntaxhighlight Phixlang="phix">(notonline)-->
<span style="color: #008080;">without</span> <span style="color: #008080;">js</span> <span style="color: #000080;font-style:italic;">-- (file i/o)</span>
<span style="color: #008080;">include</span> <span style="color: #000000;">pSQLite</span><span style="color: #0000FF;">.</span><span style="color: #000000;">e</span>
Line 813:
<span style="color: #7060A8;">printf</span><span style="color: #0000FF;">(</span><span style="color: #000000;">1</span><span style="color: #0000FF;">,</span><span style="color: #008000;">"sqlite3_exec error: %d [%s]\n"</span><span style="color: #0000FF;">,{</span><span style="color: #000000;">res</span><span style="color: #0000FF;">,</span><span style="color: #000000;">sqlite_last_exec_err</span><span style="color: #0000FF;">})</span>
<span style="color: #008080;">end</span> <span style="color: #008080;">if</span>
<!--</langsyntaxhighlight>-->
 
=={{header|PHP}}+SQLite==
{{trans|Python}}
not tested
<langsyntaxhighlight lang="php"><?php
$db = new SQLite3(':memory:');
$db->exec("
Line 829:
)
");
?></langsyntaxhighlight>
 
=={{header|PicoLisp}}==
Line 837:
 
Define an "address" entity, and create the database:
<langsyntaxhighlight PicoLisplang="picolisp">(class +Adr +Entity)
(rel nm (+Sn +Idx +String)) # Name [Soundex index]
(rel str (+String)) # Street
Line 848:
(rel jpg (+Blob)) # Photo
 
(pool "address.db") # Create database</langsyntaxhighlight>
Create a first entry, and show it:
<langsyntaxhighlight PicoLisplang="picolisp">(show
(new! '(+Adr) # Create a record
'nm "FSF Inc."
'str "51 Franklin St"
'st "Boston, MA"
'zip "02110-1301" ) )</langsyntaxhighlight>
Output:
<pre>{2} (+Adr)
Line 863:
nm "FSF Inc."</pre>
Interactive "select":
<langsyntaxhighlight PicoLisplang="picolisp">(select nm zip +Adr nm "FSF") # Select name, zip from Adr where name = FSF*</langsyntaxhighlight>
Output:
<pre>"FSF Inc." "02110-1301" {2}</pre>
 
=={{header|PostgreSQL}}==
<langsyntaxhighlight lang="sql">CREATE SEQUENCE address_seq start 100;
CREATE TABLE address (
addrID int4 PRIMARY KEY DEFAULT nextval('address_seq'),
Line 875:
state varchar(2) not null,
zip varchar(20) not null
);</langsyntaxhighlight>
 
=={{header|PowerShell}}+SQLite==
{{libheader|SQLite}}
<syntaxhighlight lang="powershell">
<lang PowerShell>
Import-Module -Name PSSQLite
 
Line 913:
## View the data
Invoke-SqliteQuery -DataSource $DataSource -Query "SELECT * FROM SSADDRESS" | FormatTable -AutoSize
</syntaxhighlight>
</lang>
{{Out}}
<pre>
Line 923:
=={{header|PureBasic}}+SQLite==
Easiest approach with sqlite. Further possible: PostgresQL or each other over ODBC.
<syntaxhighlight lang="purebasic">
<lang Purebasic>
UseSQLiteDatabase()
Procedure CheckDatabaseUpdate(Database, Query$)
Line 946:
EndIf
closeconsole()
</syntaxhighlight>
</lang>
 
=={{header|Python}}+SQLite==
{{libheader|SQLite}}
<langsyntaxhighlight lang="python">>>> import sqlite3
>>> conn = sqlite3.connect(':memory:')
>>> conn.execute('''CREATE TABLE address (
Line 960:
)''')
<sqlite3.Cursor object at 0x013265C0>
>>> </langsyntaxhighlight>
 
=={{header|Racket}}==
Line 966:
Racket supports a bunch of DBs, this is using sqlite, which is almost always available. Also included some further demonstrations beyond just the table creation:
 
<syntaxhighlight lang="racket">
<lang Racket>
#lang at-exp racket
 
Line 1,017:
 
(disconnect postal)
</syntaxhighlight>
</lang>
 
Output:
Line 1,040:
Like Perl DBI, Raku DBIish supports many different databases. An example using SQLite is shown here.
 
<syntaxhighlight lang="raku" perl6line>use DBIish;
 
my $dbh = DBIish.connect('SQLite', :database<addresses.sqlite3>);
Line 1,053:
addrZIP TEXT NOT NULL
)
STATEMENT</langsyntaxhighlight>
 
=={{header|REXX}}==
Line 1,103:
╚════════════════════════════════════════════════════════════════════════════════════════╝
</pre>
<langsyntaxhighlight lang="rexx">/*REXX program creates, builds, and displays a table of given U.S.A. postal addresses.*/
@usa.=; @usa.0=0; $='@USA.' /*initialize array and first value.*/
@usa.0=@usa.0 + 1 /*bump the unique number for usage.*/
Line 1,136:
call value $ || @usa.0'.upHist' , userid() date() time()
end
return</langsyntaxhighlight>
{{out|output|text=&nbsp; (data used is within the REXX program):}}
<pre>
Line 1,155:
 
===version 2===
<langsyntaxhighlight lang="rexx">/* REXX ***************************************************************
* 17.05.2013 Walter Pachl
* should work with every REXX.
Line 1,189:
Say copies('-',40)
End
Return</langsyntaxhighlight>
<pre> name --> FSF Inc.
addr --> 51 Franklin Street
Line 1,205:
 
=={{header|Ring}}==
<langsyntaxhighlight lang="ring">
# Project : Table creation/Postal addresses
 
Line 1,221:
 
sqlite_execute(oSQLite,sql)
</syntaxhighlight>
</lang>
 
=={{header|Ruby}}==
Line 1,227:
PStore implements a persistent key store with transactions. This is a NoSQL database. Each transaction reads the entire database into memory, and then writes it again, so PStore is not good for large databases.
 
<langsyntaxhighlight lang="ruby">require 'pstore'
require 'set'
 
Line 1,236:
db[:next] ||= 0 # Next available Address#id
db[:ids] ||= Set[] # Set of all ids in db
end</langsyntaxhighlight>
 
To put an Address inside this PStore:
 
<langsyntaxhighlight lang="ruby">db.transaction do
id = (db[:next] += 1)
db[id] = Address.new(id,
Line 1,246:
"Washington", "DC", 20500)
db[:ids].add id
end</langsyntaxhighlight>
 
===With SQLite===
Line 1,252:
 
{{libheader|sqlite3-ruby}}
<langsyntaxhighlight lang="ruby">require 'sqlite3'
 
db = SQLite3::Database.new(':memory:')
Line 1,263:
addrZIP TEXT NOT NULL
)
")</langsyntaxhighlight>
 
=={{header|Run BASIC}}==
AQLite
<langsyntaxhighlight lang="runbasic">sqliteconnect #mem, ":memory:" ' make handle #mem
mem$ = "
CREATE TABLE address (
Line 1,276:
addrZIP TEXT NOT NULL
)"
#mem execute(mem$)</langsyntaxhighlight>
 
=={{header|SAS}}==
<langsyntaxhighlight lang="sql">
 
PROC SQL;
Line 1,291:
)
;QUIT;
</syntaxhighlight>
</lang>
 
=={{header|Scheme}}==
Line 1,299:
This example works with Chicken Scheme, using its sql-de-lite library:
 
<langsyntaxhighlight lang="scheme">
(use sql-de-lite)
 
Line 1,316:
 
(close-database *db*) ; finally, close database
</syntaxhighlight>
</lang>
 
=={{header|Sidef}}==
{{trans|Perl}}
<langsyntaxhighlight lang="ruby">require('DBI');
 
var db = %s'DBI'.connect('DBI:mysql:database:server','login','password');
Line 1,336:
 
var exec = db.prepare(statment);
exec.execute;</langsyntaxhighlight>
 
=={{header|SQL PL}}==
{{works with|Db2 LUW}}
<langsyntaxhighlight lang="sql pl">
CREATE TABLE Address (
addrID Integer generated by default as identity,
Line 1,348:
addrZIP Char(10) not null
);
</syntaxhighlight>
</lang>
Output:
<pre>
Line 1,376:
=={{header|SQLite}}==
Purely in Sqlite3.
<langsyntaxhighlight lang="sqlite3">
CREATE TABLE address_USA (
address_ID INTEGER PRIMARY KEY,
Line 1,384:
address_Zip INTEGER
);
</syntaxhighlight>
</lang>
 
=={{header|Stata}}==
Line 1,392:
Other possibilities include using the '''[https://www.stata.com/help.cgi?odbc odbc]''' command or a C or Java plugin to connect to a database. See the FAQ for more details: '''[https://www.stata.com/support/faqs/data-management/using-plugin-to-connect-to-database/ How do I connect to a database by using a Stata plugin?]'''.
 
<langsyntaxhighlight lang="stata">clear
gen str8 addrid=""
gen str50 street=""
Line 1,398:
gen str2 state=""
gen str20 zip=""
save address</langsyntaxhighlight>
 
=={{header|Tcl}}+SQLite==
{{libheader|SQLite}}
<langsyntaxhighlight lang="tcl">package require sqlite3
 
sqlite3 db address.db
Line 1,413:
addrZIP TEXT NOT NULL
)
}</langsyntaxhighlight>
 
=={{header|Transact-SQL}} (MSSQL)==
<langsyntaxhighlight lang="sql">CREATE TABLE #Address (
addrID int NOT NULL Identity(1,1) PRIMARY KEY,
addrStreet varchar(50) NOT NULL ,
Line 1,423:
addrZIP char(10) NOT NULL
)
drop table #Address</langsyntaxhighlight>
 
=={{header|VBScript}}==
<syntaxhighlight lang="vb">
<lang vb>
Option Explicit
 
Line 1,441:
.Close
End With
</syntaxhighlight>
</lang>
 
=={{header|Visual FoxPro}}==
<langsyntaxhighlight lang="vfp">
CLOSE DATABASES ALL
CREATE DATABASE usdata.dbc
Line 1,456:
OPEN DATABASE usdata.dbc
USE address.dbf SHARED
</syntaxhighlight>
</lang>
 
=={{header|Wren}}==
Line 1,463:
{{libheader|Wren-sort}}
We use the same simple database format for this task as we did for the [[Table_creation#Wren]] task.
<langsyntaxhighlight lang="ecmascript">import "/dynamic" for Enum, Tuple
import "/fmt" for Fmt
import "/sort" for Cmp, Sort
Line 1,568:
table.removeRecord(1)
System.print("\nThe record with an id of 1 will be deleted, leaving:\n")
table.showRecords()</langsyntaxhighlight>
 
{{out}}
Line 1,607:
{{trans|AWK}}
Interact with SQLite via the command line.
<langsyntaxhighlight lang="zkl">const NM="address.db";
dbExec(NM,"create table address (street, city, state, zip);");</langsyntaxhighlight>
<langsyntaxhighlight lang="zkl">fcn dbExec(db,qry){ dbErrorCheck(dbMakeQuery(db,qry),String(db," : ",qry)) }
fcn dbMakeQuery(db,qry){
qry=dbEscapeQuery(qry) + ";";
Line 1,624:
throw(Exception.IOError(listOfStrings.concat().strip()));
True
}</langsyntaxhighlight>
10,333

edits