![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
sayuDB is an database management system based on python and JSON. Developed at Clee Ltd. This project actually for personal purpose only but for some reason I publish it. It supports a large part of the SQL standard feature
> pip3 install sayuDB
and if you want to show help menu just
> python3 -m sayuDB --h
To create a user you can command by
> python3 -m sayuDB create user <username> <password>
and if you want to remove user you can command by
> python3 -m sayuDB remove user <username>
Note that creating or removing user only can be user when you have root/local access. the user is use for remote database. if you want to user this database locally, you didn't need this.
And for show user, you can command by
> python3 -m sayuDB show users
Ofcourse you need to grant user to some database first before use it remotely. Grant it by command
> python3 -m sayuDB grant user <username> <database_name>
To create a database, just command by
> python3 create database <database_name>
And to drop/delete it, just command by
> python3 -m sayuDB drop database <database_name>
Anyway, you can also show databases by
> python3 -m sayuDB show databases
To import a database, just command by
> python3 -m sayuDB import database <path_to_ezdb_file>
And for export it, just command by
> python3 -m sayuDB export database <database_name> <output_path>
If you want the database remotely online. just activate server by
> python3 -m sayuDB activate server <port>
Note: I recomended use 8787 as port
then acces it within your server IP.
if you didn't see something, try make the server public by
> python3 -m sayuDB setup public server <server_name> <port>
The server_name
is your server IP or a domain that already set A record to your server IP.
And the port
must be same when you activate it.
If you want to deactivate it, just command by
> python3 -m sayuDB deactivate server
To user sayu db in python, just define it first by
import sayuDB # Importing the sayuDB
db = sayuDB.sayuDB("testdb") # call the class
The parameters are
parameter | status | description |
---|---|---|
database | required | the database name |
username | optional | the username for you sayuDB account if you access it remotely |
password | optional | ofc the password |
host | optional | the host of your database hosted in |
as_json | optional | this is the boolean if you want to return the database as json or just printed table. |
To create a table use this following function
db.create_table("<table_name>", col=[
["number","int"],
["name","str"],
["age","int"],
["address","str"]
])
The parameters are
parameter | status | description |
---|---|---|
name | required | the name of table you want to create |
col | required | a lists that contain list wich contain the column name and datatypes [ ["<column_name>","<datatypes>"] ] |
Note: supported datatypes
str
,float
,int
,dict
You can drop table by use this dollowing function
db.drop_table("<table_name>")
The parameters are
parameter | status | description |
---|---|---|
name | required | the name of the table you want to drop/delete |
you can show the table by use this following funtion.
db.show_table("<table_name>")
it will returned
number name age address
-------- ------ ----- ---------
To insert some row to the table, you can use this following function
db.insert_row(table="<table_name>", col="number,name,age,address", contents=[1,"Arsybai",23,"Solo, Indonesia"])
The parameters are
parameter | status | description |
---|---|---|
table | required | The name of table you want to insert a row |
col | required | the column that you want to insert. separate by comma or you can use list |
contents | required | the contents/value for each column |
and now if you show the table it will look like this
number name age address
-------- ------- ----- ---------------
1 Arsybai 23 Solo, Indonesia
and you can also insert it with some function. as example I want to insert moepoi as number 2. but I want the number automatically increased.
db.insert_row(table="<table_name>", col="number,name,age,address", contents=["increase()","Moepoi",20,"Jakarta, Indonesia"])
So, I use '`increase()' function for it. then the table will look like this
number name age address
-------- ------- ----- ------------------
1 Arsybai 23 Solo, Indonesia
2 Moepoi 20 Jakarta, Indonesia
Table of functions
name | description |
---|---|
today() | Generate today datetime (only work in str typedata) |
index() | Indexing the number of row. it can be use as id too (only work in int typedata) |
genID() | Generate random 5 digits ID |
increase() | Increase from the last row value (Only work in int typedata) |
To select a table, use this following function
db.select_row(table="<table_name>", col="name,age")
parameter | status | description |
---|---|---|
table :str | required | the name of table that you want to select |
col :str | required | the column name that you want to select. it separated by comma. or you can use col="*" if you want to select all comuns |
where :str | optional | select the specific row. |
as_json :bool | optional | if you already define it in the sayuDB class, you didn't need to do it again. the default is False |
Now, if you want to select specific row, you can use where
parameter for it
as example, I want to select Arsybai
from table.
db.select_row(table="<table_name>", col="*", where="name=Arsybai")
Otherwise, if you want to select row that isn't Arsybai
use where="name!=Arsybai"
The return will look like this
number name age address
-------- ------- ----- ---------------
1 Arsybai 23 Solo, Indonesia
1 Rows
If you want to select row that contain someting. you can use contain
.
as example I want to select name that contain poi
db.select_row(table="<table_name>", col="*", where="name contain poi")
The return will look like this
number name age address
-------- ------ ----- ------------------
2 Moepoi 20 Jakarta, Indonesia
1 Rows
as example I want to select Arsybai
with age 20
db.select_row(table="<table_name>", col="*", where="name=Arsybai && age=20")
The return will look like this
number name age address
-------- ------ ----- ---------
0 Rows
Note : You can use
AND ( && )
,OR ( || )
in multiple condition. also the space between && or || is required
If you want to update a row, use this following function
db.update_row(table="<table_name>", set_="<column_name>=<value>", where="<column_name>=<value>")
Note that update row isn't support multiple condition.
Also you can update a row more efficienly with update_row_json
db.update_row_json(table="<table_name>", set_={"<col1_name>":"<value1>","<col2_name>":"<value2>"}, where="<col_name>=<value>")
If you want to delete some row, use this following function
#to delete specific data that equal with some value
db.delete_row(table="<table_name>", where="<col_name>=<value>")
#to delete specific data that contain some value
db.delete_row(table="<table_name>", where="<col_name> contain <value>")
#to delete specific data with row number
db.delete_row(table="<table_name>", where="row <number_of_row>")
#to delete specific data between row number
db.delete_row(table="<table_name>", where="row between <number_of_rowX>-<number_of_rowY>")
To alter or updating some table, use this following function
# to add a column
db.alter_table_add_column(table="<table_name>", col_name="<col_name>", datatypes="<datatype>")
# to remove a column
db.alter_table_drop_column(table="<table_name>", col_name="<col_name>")
# to rename a column
db.alter_table_rename_column(table="<table_name>", col="<column_to_rename>", to_="<rename_to>")
To clear table use this following function
db.clear_table(table="<table_name>")
This will erase all rows data in the table.
FAQs
Database management system based on python and JSON.
We found that sayuDB demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.