Ciências da computação dia 99
SQL (Structured query language) geralmente usado em bancos relacionais; feito pela IBM para implementar o modelo relacional; SQL é padronizado pela ANSI e ISO, sendo que a versão padrão é chamada de SQL ANSI. DDL linguagem que define a estrutura do banco; comandos: create, alter, drop, comment; os comandos são usados para manipular objetos como: tables, procedures, views, functions, triggers, etc. DML manipulação dos dados; comandos: insert, update, delete, etc. DQL consulta dos dados; comando: select. DCL (data control language) controla acessos; comandos: grant, revoke; isso pode ser usado para deixar um usuário acessar, apenas um table, apenas algumas colunas, etc. DTL (data transaction language) define um escopo de transformações do banco que só seria aplicado quando todas as transações forem feitas com sucesso; comandos: Begin transaction, commit, rollback. Isso garante que todas as transações sejam feitas de forma integra, mesmo que aconteçam problemas, como falta de energia. #cria um banco CREATE DATABASE test; #ou CREATE SCHEMA test; #(a partir da V8 do mysql) # muda para o banco criado USE test; # criando tabelas CREATE TABLE test1 ( id INT UNSIGNED NOT NULL, name VARCHAR(80) NOT NULL, age INT UNSIGNED NULL, sex CHAR(1) NULL 'M', #chaves CONSTRAINT pk_test1_id PRIMARY KEY(id), CONSTRAINT chk_test1_age CHECK(age > 18), #garante que todos sejam 18+ CONSTRAINT fk_test1_test2 FOREIGN KEY(id) #chave estrangeira REFERENCES test2(id) ); CREATE TABLE test2 ( id INT UNSIGNED NOT NULL, card_number CHAR(16) NOT NULL ); #Mostra os tipos das colunas e suas configurações DESCRIBE test1; DESCRIBE test2; #ou DESC test1; DESC test2; UNIQUE constraint semelhante à PK; não aceita valores duplicados; aceita NULL. CHECK constraint; defini uma relação entre uma coluna e um valor (que pode ser o de outra coluna também). Alguns tipos de dados TINYINT → 1 byte; SMALLINT → 2 bytes; MEDIUMINT → 3 bytes; INT → 4 bytes; BIGINT → 8 bytes; DECIMAL → DECIMAL(N, M), N é total de números com default em 10, M é o total de números depois da vírgula com default em 0; FLOAT → possui mesmo formato do DECIMAL; DOUBLE; DATE → formato YYYY-MM-DD; DATETIME → data e hora no formato YYYY-MM-DD HH:MI:SS CHAR → string com tamanho fixo( CHAR(N) ); VARCHAR → string com tamanho variável ( VARCHAR(N) ), apenas os espaços ocupados serão usados; TEXT; BLOB → binários; BIGBLOB; BIGTEXT;