MySQL第二天 基礎用法

2021-10-08 20:45:56 字數 3412 閱讀 9758

mysql第二天介紹

sqlsql介紹

sql它的全稱叫 structured query language,結構化的查詢語言。之所以出現這個東西,是為了統一/遮蔽不同資料庫廠商生產資料庫產品之間的差異

簡單的ddl

比如更改表名

alter table  表名   rename   新錶名

更改欄位名

alter table 表名  change   列名  新列名   資料型別

更改表的列名 和資料型別  當然資料型別可以不改,但是必須寫

alter  table  t_teacher  change  teacher  name   varchar(20);

新增字段

alter  table   表名  add  列名型別

如 alter  table  t_teacher  add  birthday  datetime  ;預設新增到尾部

alter table t_teacher  add  birthday   datetime  after  teacher   name;把列新增到指定列的後面

alter  table t_teacher  add ***2 char(2)  first;新增到第一列,需要把錶關掉,重新整理一下

刪除字段

alter  table  表名  drop  列名

如alter  table   t_teacher  drop   birthday

更改字段型別(盡量不要更改)

alter table 表名 modify 列名 新資料型別; 

如 alter table t_teacher modify ***2 varchar(20);

alter table 表名 modify 列名 資料型別 comment '該列的注釋說明';  更改型別的同時,還能新增注釋說明

檢視建表語句

show   create  table  表名;

主鍵設定

第一種:建立表語句時,新增主鍵約束

第二種:建立表完成之後,通過alter新增主鍵約束

**示例

第一種:建立表語句時,新增主鍵約束

create table person(

id int,

name varchar(100),

income decimal(18,2),

primary key (id)

)上面**設定了乙個主鍵

如果只有一列主鍵,也可以直接寫在字段後面

create table person2(

id int primary key,

name varchar(100),

)第二種:建立表完成之後,通過alter 新增主鍵約束

create table person3(

id int,

name varchar(100),

income decimal(18,2)

);alter table person3 add primary key(id);

主鍵自增

第一種:建表是新增自增

第二種:建立表之後新增自增

設定自增的起始值

**示例

第一種建立完表時

create table person4(

id int auto_increment ,

name varchar(200),

primary key(id)

);測試語句 :

insert into person4(name)values('測試');

並未輸入id的值,但是可以自動填充

第二種建立完表之後

語法 : alter table 表名modify 主鍵列名 型別 auto_increment;

create table person5(

id int ,

name varchar(200),

primary key(id)

);alter table person5 modify id int auto_increment;

測試語句 :

insert into person5 (name)values('測試');

並未輸入id的值,但是可以自動填充

關聯完整性(外來鍵)

第一種:建立表時新增外來鍵約束

第二種 : 建立完表之後,新增外來鍵約束

第一種 : 建立表時新增外來鍵約束

create table teacher(

id int ,

name varchar(20),

primary key (id)

);create table student (

id int ,

name varchar(20),

teacher_id int ,

primary key (id),

foreign key (teacher_id) references teacher(id)

);注意 : 引用student中新增外來鍵列,指向teacher表,所以必須先建立teacher表才行

測試語句

新增乙個講師

insert into teacher (id,name) values(1,'張老師');

新增乙個學生小明,學生通過teacher_id可以指向張老師

insert into student (id,name,teacher_id) values(1,'小明',1);

新增乙個學生小紅,teacher_id沒有設定值

insert into student (id,name) values(2,'小紅');

新增乙個小黑,teacher_id指向乙個不存在的講師,報錯

insert into student (id,name,teacher_id) values(3,'小黑',2);

第二種 : 建立完表之後,新增外來鍵約束

create table student1 (

id int ,

name varchar(20),

teacher_id int,

primary key (id)

);create table teacher1(

id int ,

name varchar(20),

primary key (id)

);語法 : alter table 表名 add foreign key (外來鍵列列名) references 指向的表名 (主鍵列列名);

alter table student1 add foreign key (teacher_id) references teacher1 (id);

Android基礎第二天

網路訪問 寫sd卡 讀sd卡 this.getfilesdir getpath 返回乙個資料夾 data data 包名 files 使用this.getcachedir getpath 用api獲取sdcard的路徑 不同手機sdcard資料夾位置不同 environment.getexterna...

java基礎第二天

常量 1.概述 在程式執行過程,其值不發生改變的量 2.分類 1.字面值常量 2.自定義常量 3.字面值常量分類 1.字串 2.整數 所有整數 3.小數 所有小數 4.字元 5.布林 true false 6.空 null 4.進製 人為規定的進製方式 x進製,就是逢x進一.5.計算機中的進製為 二...

JAVA基礎第二天

第二天內容 第一章資料型別轉換 1.1自動轉換 1.2 強制轉換 1.3 ascii編碼表 第二章 運算子 2.1 算數運算子 2.2 賦值運算子 2.3 比較運算子 2.4 邏輯運算子 2.5 三元運算子 第三章 方法入門 3.1 概述 3.2 方法的定義 定義 就是從大範圍轉小範圍 理解如上 案...