Mysql之DDL操作
一、數據庫簡介
1、數據庫(DB):按照一定數據結構存儲數據的倉庫
龜殼--》竹子--》紙--》電子設備(U盤、SD卡、磁盤、移動硬盤、網盤)--》數據庫
2、數據庫管理系統(DBMS):操縱和管理數據庫的一套軟件。
Mysql/oracle/sql server
3、分類
關系型數據庫管理系統(RDBMS)
常見的系統有:Oracle/Mysql/SQL server/DB2/mariaDB
非關系型數據庫管理系統(NoSQL-->not only SQL)
1)redis 主要做緩存用,可以快速的建立緩存
2)hbase 列族數據庫
3)mongodb 主要做文檔型的數據庫
4)neo4j主要做圖數據庫,在社交網絡這一塊運用比較廣
4、Mysql數據庫管理系統
Mysql是一個關系型數據庫管理系統。
Mysql采用關系模型對數據進行管理,采用分表的形式管理,對多張表存在情況下,可以采用分庫的形式進行管理
Mysql數據庫管理系統中可以管理多個數據庫,在一個數據庫中可以存放多張表
Mysql數據庫管理系統是一個多用戶管理系統(root設置密碼,添加一個用戶)
二、SQL介紹
1、Structure Query Language結構化查詢語言。關系型數據庫中進行操作的標准語言。
2、特點
對大小寫不敏感 SELECT select Select
結尾要使用分號一行代碼結束之后;
3、分類
DDL:數據定義語言(數據庫對象的操作(結構))
數據庫對象:數據庫、表、視圖、索引等
create / alter / drop
DML:數據操縱語言(對數據庫對象中的數據的操作 增刪改查)
insert / update / delete / select
DCL:數據控制語言(授權 取消授權)
grant / revoke
TCL:事務控制語言(對事務的控制)transaction
commit / rollback(回滾)
三、DDL數據定義語言
1、數據庫 database
創建數據庫:create database 數據庫名;
銷毀數據庫:drop database 數據庫名;
create database huace1;
drop database huace1;
2、表 table
1)創建表
語法:
create table 表名(
字段1 類型 [約束],
字段2 類型 [約束],
........
);
#表
create table userinfo(
username varchar(20), #字段 數據類型
pwdvarchar(50),
telvarchar(15),
email varchar(20)
);
2)刪除表
語法:drop table 表名;
drop table student;
3)修改表
表中字段進行添加 add、刪除 drop、修改change/modify的操作
語法:alter table 表名 add | change/modify | drop 字段名 類型 約束;
alter table userinfo add status int;
alter table userinfo drop email;
alter table userinfo change username login_name varchar(20);
alter table userinfo modify pwd varchar(16); #modify不可以用來修改字段名
alter table userinfo change pwd pwd int;
alter table userinfo change pwd my_pwd varchar(16); #同時修改字段名和數據類型
alter table userinfo modify `status` int first; fitst關鍵字把status字段方到最先面。
alter table userinfo modify `status` int after login_name; after關鍵字 把status字段放到login_name字段后面。
3、數據類型
主要是用來限制輸入的內容
數值類型、字符串類型、日期類型、其他類型
1)數值類型:int 整數 float 浮點數 double 浮點數 decimal 浮點數
float(10,2)double(16,4) decimal(5,2) 一定要聲明長度和精度
2)字符串類型:char(n) 定長長度 varchar(n) 不定長長度
name char(10)name varchar(10)
張三張三
3)日期類型:date(年月日)、time(時分秒)、datetime(年月日)、timestamp(年月日)、year(年)等
學生表(id int,name varchar(10),money float,in_date date)
create table student(
id int,
name varchar(10),
money float,
in_date date
)
練習題:
1) 創建用戶表(user)
字段類型長度
uid int
uname varchar20
password varchar20
birthday date
create table user(
uid int
uname varchar(20),
password varchar(20),
birthday date
);
2) 向用戶表中追加字段email,varchar類型,長度20
alter table user add email varchar(20);
3) 向用戶表最前面添加字段status,int類型
alter table user add status int first;
4) 向用戶表password字段后面添加sage,int類型
alter table user add sage int after passwoed;
5) 修改sage的名稱為age
alter table user change sage age int;
6) 修改password字段的長度為50
alter table user modify password varchar(50);
7) 修改status到email之后的位置
alter table user modify status int after email;
8) 刪除字段status
alter table user drop status;
9) 修改表的名稱為userinfo
rename table user to userinfo;
10) 清空數據庫表
truncate table userinfo
11) 銷毀數據庫表user
drop table user;