天天看點

資料庫和表的基本操作目錄資料庫基本操作表的基本操作

目錄

資料庫基本操作

查詢所有存在的資料庫(此時是查詢多個資料庫,是以後面有s)

建立資料庫(test_db資料庫名)

删除資料庫(mysql不會給出任何提醒,資料将不能被恢複!!!)

選擇建立表的資料庫

表的基本操作

建立表(create)

删除表(drop)

檢視改資料庫裡面的表(注意加s)

查詢表結構

限制

主鍵限制

外鍵限制

非空限制(Not Null Constraint)

唯一性限制(Unique Constraint) 一列隻能有一個空值

預設限制

設定表中屬性自動增加

修改表名

更改表的存儲引擎

對字段的操作集合

修改字段名的資料類型(modify)

修改字段名(change) 也可以用來改變字段類型 字段類型不能為空

添加字段(add)

删除字段(drop)

修改字段的排列位置(modify) 改變字段的資料類型必須加 after後面字段的資料類型不用加

資料庫基本操作

查詢所有存在的資料庫(此時是查詢多個資料庫,是以後面有s)

show databases;
           

建立資料庫(test_db資料庫名)

create database test_db;
           

删除資料庫(mysql不會給出任何提醒,資料将不能被恢複!!!)

drop database test_db;
           

選擇建立表的資料庫

use test_db;
           

注意,在控制台輸入mysql語句是後面要加分号

表的基本操作

建立表(create)

create table test_table
(
    id int(11),
    name    varchar(10),
    age int(11)
);
           

删除表(drop)

删除被其他表關聯的主表時直接删除父表會顯示失敗,得先解除關系,或者先删除子表

drop table 表1,表2...
drop table if exists emmp         #加上參數後,如果表不存在,可以正常運作,但是會發出警告
           
資料庫和表的基本操作目錄資料庫基本操作表的基本操作

檢視改資料庫裡面的表(注意加s)

show tables;
           

查詢表結構

desc test_table;        #是describe的縮寫
describe test_table;
show create table test_table;   #可以檢視建立表時候的語句,同時還可以檢視引擎
show create table test_table\G  #在控制台使用
           

限制

主鍵限制

主鍵:用來辨別唯一的一條記錄,同時和外鍵配合使用,要求主鍵列的資料唯一,同時不為空,

#單字段主鍵
create table testa
(
  id int(11) primary key,
    name varchar(10),
    age int(3)
)
create table testb
(
  id int(11),
    name varchar(10),
    age int(3),
    primary key(id)
)
#多字段聯合主鍵
create table testc
(
  id int(11),
    name varchar(10),
    age int(3),
    primary key(id,name)
)
           

外鍵限制

1.外鍵:用來在兩個表的資料之間建立連結,可以是一列或者多列

2.一個表的外鍵可以為空值,若不為空值,則每一個外鍵值必須等于另一個主鍵表中的某個值

3.可以不是主鍵,但對應另一個表中的主鍵

4.定義外鍵後,不能删除另一個表中的關聯行

5.外鍵不能跨引擎!!!

     主表(父表):相關聯字段中主鍵所在表

    從表(子表):相關聯字段中外鍵所在表

create table dep
(
   id int(11) primary key,
     name varchar(10),
   location varchar(50)
)
​
create table emp
(
  id int(11) primary key,
    name varchar(10),
    depId int(11),
    salary float,
    constraint fk_emp_dep foreign key(depId) references dep(id)
)
           

删除表的外鍵限制(drop) 是以取外鍵限制名的時候要規範!!!

alter table 表名 drop foreign key 外鍵限制明
alter table emp drop foreign key fk_emp_dep
show create table emp                 #可以使用這句檢視外鍵是否存在,和外鍵名
show create table emp\G               #建議使用這句才指令提示符上面檢視,清楚一點
           

非空限制(Not Null Constraint)

name varchar(10) not null
           

唯一性限制(Unique Constraint) 一列隻能有一個空值

name varchar(10) unique
           

預設限制

name varchar(10) default '老王',
           

設定表中屬性自動增加

id int(11) primary key auto_increment
           

修改表名

alter table  舊表名 rename 新表名
alter table  testa rename testgg
           

更改表的存儲引擎

alter table 表名 engine=更改後的引擎名
alter table testgg engine=myisam
           
資料庫和表的基本操作目錄資料庫基本操作表的基本操作

對字段的操作集合

修改字段名的資料類型(modify)

alter table 表名 modify 字段名 字段類型
alter table testgg modify age varchar(3)
           

修改字段名(change) 也可以用來改變字段類型 字段類型不能為空

alter table 表名 change 就字段名 新字段名 新資料類型
alter table testgg change age ages int(3)
           

添加字段(add)

alter table 表名 add 字段名 類型 
alter table testgg add salary float                  #新加字段預設放在最後一列
alter table testgg add salary1 float first           #表示加入的字段放在第一列
alter table testgg add salary2 float after salary1   #表示加入的字段放在salary1的後面那一列
           

删除字段(drop)

alter table 表名 drop 字段名
alter table testgg drop salary1
           

修改字段的排列位置(modify) 改變字段的資料類型必須加 after後面字段的資料類型不用加

alter table 表名 modify  字段名 資料類型 
alter table testgg modify ages varchar(3) first
alter table testgg modify ages varchar(3) after id  #id後面不能加資料類型