MySQL數據庫——DDL(數據庫定義語言)
作者:冰藍心靈
原文:https://blog.csdn.net/qq_35537301/article/details/78568025
概念
數據庫:
狹義的數據庫:真實保存數據的地方;代碼表示:database;
廣義的數據庫:(數據庫服務器,服務系統),既包含保存數據的倉庫(database),也包含數據庫管理系統(DBMS);
數據庫管理系統:管理或操作數據的一個系統;(類似於倉庫管理員);
表:數據庫中的數據都是以表爲單位,保存數據;
表名:類似於java中的類名;
字段:設計表的時候,指定的名稱和屬性,類似於java中的屬性;
紀錄:類似於java中的對象;
常見的數據庫:
MYSQL:開源免費的數據庫,小型的數據庫.已經被Oracle收購了.MySQL6.x版本也開始收費
Oracle:收費的大型數據庫,Oracle公司的產品。Oracle收購SUN公司,收購MYSQL
DB2:IBM公司的數據庫產品,收費的。常應用在銀行系統中.
SQLServer:MicroSoft 公司收費的中型的數據庫。C#、.net等語言常使用
SyBase:已經淡出歷史舞臺。提供了一個非常專業數據建模的工具PowerDesigner
SQLite : 嵌入式的小型數據庫,應用在手機端
常用數據庫:MYSQL,Oracle
SQL語句:
結構化查詢語言(Structured Query Language)簡稱SQL,是一種特殊目的的編程語言,是一種數據庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關係數據庫系統;同時也是數據庫腳本文件的擴展名。
注意:
標準的sql語句可以操作所有的數據庫服務器系統;
方言:只針對特定的數據庫有效!
種類
DDL語句;數據定義語言;專門用於數據庫與表的創建於操作;
DCL語句;數據庫控制語言;專門用於管理控制數據庫用戶,權限等;
DML語句;數據操作語言;表的紀錄的添加,刪除,修改操作;
DQL語句;數據操作語言;表的紀錄的查詢;
數據類型:
int 整型;
double 浮點型;
varchar 字符串型;
date 日期類型;
DDL語法:
創建:create
刪除:drop
修改:alter
修改表名:rename table 舊錶名 to 新表名
DDL操作數據庫的練習:
創建一個新的數據庫
格式:create database 數據名;
create database study;
指定字符集:create database 數據庫名 character set utf8;
create database study character set utf8;
查看數據庫結構:
show crate database 數據庫名
刪除數據庫:
格式:drop database 數據名;
drop database study;
切換數據庫:
use 數據庫名
查看正在使用的數據庫:
select database();
查看所有數據庫:
show databases;
DDL操作表的練習:
創建表:
crate table 表名(
字段名1 字段的數據類型(字段長度) 約束,
字段名2 字段的數據類型(字段長度) 約束
)
例子:CREATE TABLE person(
pname VARCHAR(32),
age INT,
sex VARCHAR(2)
);
查看錶結構:
格式:DESC person;
刪除表:
DROP TABLE 表名
例子:DROP TABLE person;
修改表結構:
添加一列:
格式: ALTER TABLE 表名 ADD 列名 數據類型 [約束];
例子:ALTER TABLE person ADD abc INT;
修改列的數據類型和約束
格式: ALTER TABLE 表名 MODIFY 列名 數據類型 [約束];
例子:ALTER TABLE person MODIFY abc DOUBLE NOT NULL;
修改列名:
格式:alter table 表名 change 舊列名 新列名 類型 [約束]
例子:ALTER TABLE person CHANGE abc bbc VARCHAR(32);
刪除表中一列:
格式:ALTER TABLE 表名 DROP 列名;
例子:ALTER TABLE person DROP bbc;
修改表名:
格式:rename table 舊錶名 to 新表名
例子:rename table person to people
刪除表:
格式:DROP TABLE 表名;
例子:DROP TABLE people;
修改表中的字符集:
格式:alter table 表名 character set 字符集
例子:alter table people character set utf8