sql >> Databasteknik >  >> RDS >> Oracle

MySQL frågar efter exempel med svar

Användbara och vanliga exempel på MySQL-frågor med svar för utvecklaren och DBA:er

 Hur man skapar en MySQL-databas

mysql> create database techdb;
mysql> use techdb;

Hur skapar jag en tabell i mysql-databasen?

Här är exemplet för att skapa tabeller i MySQL-databasen
(1) Vi måste först komma in i databasen

use techdb;

(2) Skapa en tabell med syntaxen nedan

CREATE TABLE test (
test_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
test_desp varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
test_name varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
test_updated datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (test_id)
) 
ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

Förklaring av de olika detaljerna i synta för tabellskapande x
test -> Tabellnamn
test_id,test_description -> Tabellkolumn
bigint(20,varchar -> Datatyp för kolumn
Inte null-> kolumn kan inte vara null
utf8mb4_unicode_ci -> Sortering
AUTO_INCREMENT -> Värden inkrementeras automatiskt vid infogning
Motor -> Ange motorn för tabellen

Hur man visar tabellens struktur efter att den skapats

När tabellen väl har skapats kan tabellstrukturen visas med

Desc test

Hur får man tabellskapandesatsen för tabellen i MySQL?

det kan hittas med kommandot

mysql> show create table <table name>

Hur utför man nedanstående vanliga DML-operation på bordet?

(a) Infoga uttalande

insert into test (test_desctiption,test_name,test_updated) values ('this is mysql test','mysql-test-1',current_date);

Här angav vi inte test_id eftersom det är auto-inkrement och det kommer att ha ett värde när rader infogas i tabellen

(b) Välj uttalande

select * from test where test_id=1;

(c) Ta bort uttalande

delete from test where test_id=1;

Hur inaktiverar man autocommit för sessionen?

SET autocommit=0;

Hur ändrar eller släpper man tabellen i MySQL?

Ändra tabell

alter table test add (test_description varchar(255) not null default '');

Släpp tabell

drop table test2;

Hur skapar man en tabell från en annan tabell i MySQL?

create table test4 select * from test3;

Hur skapar man ett index och släpper ett index på tabellen i MySQL?

(a) skapa index

create index test3_idx on test3(table_name);

(b) visa index

show index from test3;

(c) droppindex

drop index test3_idx on test3

Hur får man exekveringsplanen för mysql-frågan?

explain <query>

Hur väljer man data från flera tabeller med join i Mysql?

Mysql stöder inner join, left join och Right join för att hämta data från flera tabeller samtidigt

Inre Join

select test_name,student_name,test_marks from test,student_test where test.test_id=student_test.test_id;
or
select test_name,student_name,test_marks from test join student_test on test.test_id=student_test.test_id  

Vänster Gå med

select test_name,student_name,test_marks from test left join student_test on test.test_id=student_test.test_id;

Rätt gå med

select test_name,student_name,test_marks from test right join student_test on test.test_id=student_test.test_id;

Automatisk ökning av kolumn i MySQL-databas

Vi kan ha ett automatiskt inkrement-attribut för kolumnen i Mysql

CREATE TABLE test (
test_id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
test_desp varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
test_name varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '',
test_updated datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (test_id)
) 

Hoppas du gillar dessa MySQL-frågor med svar

Relaterade artiklar

Steg-för-steg-guide för installation av MySQL på Windows
Automatisk ökningskolumn – Sekvens som standardvärde i Oracle och mysql
Topp 51 vanliga frågor och svar på MySQL-intervjuer
Steg-för-steg-guide för att bygga lokal Apache PHP MySQL-utvecklingsmiljö i Windows
Hur återställer du MySQL root-lösenord


  1. WordPress – Bakom kulisserna, del 2

  2. MariaDB SQL Set Operators

  3. Kan INSERT [...] ON CONFLICT användas för kränkningar av främmande nyckel?

  4. Lägg till sökningssortering och sök med jquery datatable