Stories

Detail Return Return

DDL - Stories Detail

MySQL中,以DML,DQL是最經常用的,其次是DDL,DCL,單表操作主要為增刪改查.

DDL操作
a.數據庫操作(創建,查看,使用,刪除):
1.創建數據庫
#創建數據庫
create database 數據庫名稱;

  #當數據庫不存在時,創建數據庫
  create database if not exists 數據庫名稱;

  #創建數據庫並指定utf8編碼
  create database 數據庫名稱 character'utf8';

2.查看數據庫
#查看數據庫
show databases;

  #如果只想查看某一個數據庫的建庫語句
  show create database 數據庫名稱;

3.使用(選擇)數據庫
#選擇數據庫
use 數據庫名稱;

  #查看當前使用的數據庫
  select database();

4.刪除數據庫
#刪除數據庫(不可逆)
drop database 數據庫名稱;

b.數據表操作(建表,查看錶及表結構,刪除表)
1.創建數據表
create table 表名(
字段名1 數據類型 [約束],
字段名2 數據類型 [約束],
字段名3 數據類型 [約束],
)default charset=utf8;

整數int、字符串char(固長)、varchar(變長)、enum(xxx, yyy)枚舉類型,多選一

2.查看數據表以及數據表結構信息
#顯示當前數據庫下的所有表
show tables;
#展示goods商品表的結構信息
desc goods;

3.修改表名,刪除數據表
#修改指定表的名稱
rename table 表名 to 新表名;
#刪除指定的數據表
drop table 表名;

數據約束:
定義:數據類型本身就是一種約束,數據約束是指在數據類型限定的基礎上額外增加的需求.

-- 五大約束
-- ① 主鍵約束:非空、唯一、一個表中只能有1個 => primary key
drop table students;
create table students(
id int unsigned primary key,
name varchar(20),
age tinyint,
mobile char(11)
) default charset=utf8;
-- 擴展:編號自增 => auto_increment => 不需要手動錄入編號,系統會自動生成編碼
create table students(
id int unsigned auto_increment primary key,
name varchar(20),
age tinyint,
mobile char(11)
) default charset=utf8;

-- ② 唯一約束:唯一,可以為空,一個表中可以有多個 => unique
create table goods(
id int unique,
name varchar(200) unique,
price decimal(11, 2)
) default charset=utf8;

-- ③ 非空約束:not null,不允許字段值為null => not null
create table article(
id int auto_increment primary key,
title varchar(80) not null,
author varchar(20),
content text,
addtime date
) default charset=utf8;
desc article;

-- ④ 默認值約束:default 默認值,插入數據時,如果不寫內容,則填充默認值 => default
create table members(
id int auto_increment primary key,
name varchar(20) not null,
age tinyint,
gender enum('男', '女') default '男'
) default charset=utf8;
desc members;

-- ⑤ 外鍵約束,表示兩個表的關聯關係,插入、修改、刪除時候,都會到另外一張表中檢查是否有關聯,數據是否合法(瞭解)

c.數據表字段增刪改操作
1.給數據表添加字段
eg.給students數據表增加一個address字段,字段長度不超過255個字符
alter table students add address varchar(255);#默認追加到所有列尾部

2.給students數據表增加一個addtime字段,數據類型為date類型
alter table students add addtime date after mobile;#追加到mobile列後面

2.修改,刪除表字段
1.修改表字段
alter table 表名 change 舊列名 新列名 新類型(長度) [約束];
eg.
alter table category change 'desc' description varchar(100);

  2.刪除表字段
  alter table 表名 drop 列名;
  eg.
  alter table category drop num;

Add a new Comments

Some HTML is okay.