Rodomi pranešimai su žymėmis MYSQL. Rodyti visus pranešimus
Rodomi pranešimai su žymėmis MYSQL. Rodyti visus pranešimus

2018 m. kovo 15 d., ketvirtadienis

import export mysql data

Import:
$ mysql -u username -p  databasename  < path/example.sql

Export:
$ mysqldump -u username -p databasename tableName > path/example.sql




How to make backup of mysql table:

Creating an Empty Table
CREATE TABLE new_table LIKE original_table;

Inserting Data into Table
INSERT new_table SELECT * FROM original_table;

2018 m. vasario 25 d., sekmadienis

mysql creating table

Creating database with auto_incrementing id:

CREATE TABLE test (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(20),
        nickname VARCHAR(20),
PRIMARY KEY(id)
);


Inserting values:

INSERT INTO test (name, nickname) VALUES("John", "Fire");


Updating values: (for multiple values put comma, after each SET clouse

UPDATE test 
SET vardas = 'Power'
WHERE id = 1;

Deleting values:

DELETE FROM test WHERE id = 11;

Adding additional rows in table:

ALTER TABLE test ADD comment VARCHAR(100);

Dropping column:

ALTER TABLE test DROP COLUMN comment;


Resources:
https://www.youtube.com/watch?v=nWeW3sCmD2k - SQL Crash Course - Beginner to Intermediate
https://www.youtube.com/watch?v=Thd8yoBou7k - MYSQL for pyhon developers

2018 m. vasario 21 d., trečiadienis

How to allow remote mysql access?

Edit MySQL config file:
$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

Find line:
bind-address            = 127.0.0.1

Change it to:
bind-address            = 0.0.0.0

Restart MysQL Server:
$ sudo systemctl restart mysql.service

Logging to MySQL database, and create new user:

$ mysq -u username -p
CREATE USER 'username'@'%' IDENTIFIED BY 'password';

2017 m. spalio 15 d., sekmadienis

Microsoft SQL Server + pymssql

The default SQL port is 1433.

Linux install Microsoft SQL Server and tools here:
$ sqlcmd -S localhost -U SA -P password

Script location

/opt/mssql-tools/bin/sqlcmd
/opt/mssql-tools/bin/bcp

Some interesting SQL commands:

SELECT GETDATE()
2017-10-21 22:36:52.08

System catalog tables

SYSUSERS -  Database users
SYS.DATABASES  - All database segments
SYS.DATABASE_PERMISSIONS - All database permissions
SYS.DATABASE_FILES - All database files
SYSINDEXES - All indexes
SYSCONSTRAINTS - All constraints
SYS.TABLES - All database tables
SYS.VIEWS - All database views

Query's:

# Show all database
Select * from Sys.Databases

# Delete database from database
DROP DATABASE Database_name;

Python lib to connect to Microsoft SQL Server pymssql.

Connecting to database:

import pymssql
server = "localhost"
user = "SA"
password = "password"

conn = pymssql.connect(server, user, password, "TestDB")
cursor = conn.cursor()

Show all tables:
cursor.execute("SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'")
for row in cursor:
    print("{}".format(row))

Get all table Inventory values:

cursor.execute("SELECT * FROM Inventory")
for row in cursor:
    print("{}".format(row))
conn.close()


Create table:

cursor.execute("""CREATE TABLE books (
               id INT NOT NULL,
               book_name VARCHAR(100),
               year VARCHAR(100),
               PRIMARY KEY(id)
               )
               """)
conn.commit()

Add entry to  to table:

cursor.execute("INSERT INTO books VALUES (1,'Freedom from known', 1955)")
con.commit()

2014 m. spalio 21 d., antradienis

MYSQL pagrindinės komandos

Instaliavimas (Debian):
$ apt-get install mysql-server
Cenos7/Redhat, detalesnis konfiguravimas, servisų paleidimas
$ yum install php-mysql mariadb mariadb-server
Prisijungimas
$ mysql -u root -p
Kur paprastai saugoma mysql duomenų bazė?
$ sudo ls -la /var/lib/mysql/
total 28692
drwx------  4 mysql mysql     4096 Spa 21 13:33 .
drwxr-xr-x 76 root  root      4096 Spa 21 13:33 ..
-rw-r--r--  1 root  root         0 Spa 21 13:33 debian-5.5.flag
-rw-rw----  1 mysql mysql 18874368 Spa 21 13:33 ibdata1
-rw-rw----  1 mysql mysql  5242880 Spa 21 13:33 ib_logfile0
-rw-rw----  1 mysql mysql  5242880 Spa 21 13:33 ib_logfile1
drwx------  2 mysql root      4096 Spa 21 13:33 mysql
-rw-rw----  1 root  root         6 Spa 21 13:33 mysql_upgrade_info
drwx------  2 mysql mysql     4096 Spa 21 13:33 performance_schema

Kaip sužinoti mysql versija?
mysql> select version();
+-------------------------+
| version()               |
+-------------------------+
| 5.5.40-0ubuntu0.14.04.1 |
+-------------------------+
1 row in set (0.00 sec)
Duomenų bazių atvaizdavimas: mysql> SHOW databases; +--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
Kaip pradėti naudoti duomenų bazę? mysql> use mysql Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
Dabar galime atspausdinti lenteles. mysql> SHOW tables; +---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
...
| time_zone_transition_type |
| user                      |
+---------------------------+
Kaip atspausdinti iš lentelės visus 'user'? mysql> select * from user;
# Duomenų bazės kūrimas
mysql> create database DBZ;
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| DBZ                |
Lentelių kūrimas: mysql> CREATE table veikejai (`vardas` char(20), `ki` char(10), `status` char(5)) ; Query OK, 0 rows affected (0.00 sec)

mysql> SHOW tables; +---------------+
| Tables_in_DBZ |
+---------------+
| veikejai      |
+---------------+
1 row in set (0.00 sec)
Kaip peržiūrėti lentelės savybes? mysql> describe veikejai; +--------+----------+------+-----+---------+-------+
| Field  | Type     | Null | Key | Default | Extra |
+--------+----------+------+-----+---------+-------+
| vardas | char(20) | YES  |     | NULL    |       |
| ki     | char(10) | YES  |     | NULL    |       |
| status | char(5)  | YES  |     | NULL    |       |
+--------+----------+------+-----+---------+-------+
Kaip įdėti įrašą į lentelę?
mysql> INSERT INTO veikejai VALUES('Krilin', '200', 'good'); Query OK, 1 row affected (0.01 sec)
...
mysql> SELECT * FROM veikejai; +---------+------+--------+
| vardas  | ki   | status |
+---------+------+--------+
| Krilin  | 200  | good   |
| Vežlys  | 12   | good   |
| Freezas | 7000 | bad    |
+---------+------+--------+
3 rows in set (0.00 sec)
Kaip pakeisti eilutės reikšmė? mysql> UPDATE veikejai SET ki=9001 WHERE status='good'; Query OK, 2 rows affected (0.00 sec)
Rows matched: 2  Changed: 2  Warnings: 0

mysql> SELECT * FROM veikejai;
+---------+------+--------+
| vardas  | ki   | status |
+---------+------+--------+
| Krilin  | 9001 | good   |
| Vežlys  | 9001 | good   |
| Freezas | 7000 | bad    |
+---------+------+--------+
3 rows in set (0.00 sec)
Įrašo trynimas:
mysql> DELETE FROM veikejai WHERE status='bad'; Query OK, 1 row affected (0.00 sec)
mysql> SELECT * FROM veikejai;
+---------+------+--------+
| vardas  | ki   | status |
+---------+------+--------+
| Krilin  | 9001 | good   |
| Vežlys  | 9001 | good   |
+---------+------+--------+
2 rows in set (0.00 sec

Mariadb configuravimas Centos7
Prisijungima prie duomenų bazės
mysql -u root -p

Rodo visas duombazes
MariaDB [mysql]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+

Sukuriam naują duomenų bazę:
MariaDB [mysql]> create database ninzes;
Query OK, 1 row affected (0.00 sec)

MariaDB [mysql]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| ninzes             |
| performance_schema |
+--------------------+

Suteikiam vezliukas vartotoją suteikiam jam priėjimą prie duombazės "ninzes", slaptažodis "Pica"
MariaDB [mysql]> grant all on ninzes.* to vezliukas@localhost identified by "Pica";

Užkraunam privilegijas.
MariaDB [mysql]> grant all on ninzes.* to vezliukas@localhost identified by "Pica";

prisijungiam prie duombazės
mysql -u vezliukas -p

MariaDB [(none)]> use ninzes;
Database changed
MariaDB [ninzes]> 

MariaDB [ninzes]> create table vezliukai( vezliuko_id tinyint unsigned not null auto_increment primary key, vezliuko_name varchar(50) not null );
Query OK, 0 rows affected (0.01 sec)

tinyint unsigned - naudojami skaičiai nuo 0-255.
not null - būtina reikšmė.
auto_incement - pridės reikšmes automatiškai, didinant jas.
varchar(50) - 50 didžiausias reikšmė.

MariaDB [ninzes]> describe vezliukai;
+---------------+---------------------+------+-----+---------+----------------+
| Field         | Type                | Null | Key | Default | Extra          |
+---------------+---------------------+------+-----+---------+----------------+
| vezliuko_id   | tinyint(3) unsigned | NO   | PRI | NULL    | auto_increment |
| vezliuko_name | varchar(50)         | NO   |     | NULL    |                |
+---------------+---------------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)

duomenų bazės sql kodo atspausdinimas
MariaDB [ninzes]> show create table vezliukai;
-------------------------------------------------+
| vezliukai | CREATE TABLE `vezliukai` (
  `vezliuko_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
  `vezliuko_name` varchar(50) NOT NULL,
  PRIMARY KEY (`vezliuko_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+-----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

reikšmių pridėjimas:
MariaDB [ninzes]> insert into vezliukai(vezliuko_name) values ("Donatelas"), ("Mikelanzelas"), ("Rafaelis");
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0


Kaip pakeisti pamirštą mysql slaptažodį? sudo /etc/init.d/mysqld stop
sudo mysqld_safe --skip-grant-tables &
mysql -u root
use mysql;
update user set password=PASSWORD("mynewpassword") where User='root';
flush privileges;
quit

# Kaip perkonfiguruoti phpmyadmin?
$ sudo dpkg-reconfigure phpmyadmin