MySql基礎 表操作

2021-08-17 23:19:53 字數 3357 閱讀 5962

建立表操作的sql語句可以分為以下幾個部分

create table 表名(欄位名 資料型別 [約束條件] ,欄位名 資料型別 [約束條件] ,欄位名 資料型別 [約束條件]);
數值型別:tinyint, smallint, mediumint, int/integer, bigint, float, double, decimal(m,n)取值範圍在m和n之 間

字元型別(有blob的都是二進位制形式文字資料):char, varchar, tinyblob, blob, text, mediumblob, mediumtext, longblob, longtext

日期和時間型別:date(yyyy-mm-dd), time(hh-mm-ss), datetime(yyyy-mm-dd hh-mm-ss), year(yyyy), datestamp(yyyymmddhhmmss)

create table student(

id int,

name varchar(20),

primary key(id)

);create table student(

id int,

name varchar(20),

primary key(id,name)

);

(primary可以省略不寫)可以設定復合主鍵,主鍵必須唯一

not null(非空):

create table if not exists student(

id int,

name varchar(20) not null,

primary key(id)

)

字段設定非空約束,就必須給值,給null字串也可以成功插入,但必須給值

auto_increment(自增長)

create table if not exists student(

id int primary key auto_icrement,

name varchar(20) not null

)auto_incrment=100

自增長初始值預設從1開始,可以通過auto_increment=n設定初始值為n

default(預設值)

create table if not exists student(

id int primary key auto_increment,

name varchar(20) not null,

*** char(2) default '男'

)auto_increment=100

如果被設定有預設值的字段沒有賦值,則會自動給預設值

unique key(唯一約束,唯一字段可以設定多個)

create table if not exists student(

id int primary key auto_incremary,

name varchar(20) not null,

*** char(2) default '男',

stu_id int unique

)auto_increment=100

設定唯一約束的字段,值不可以重複

charset(設定字元編碼):預設utf-8

engine(儲存引擎):預設innodb

create table if not exists student(

id int primary key auto_incremary,

name varchar(20) not null,

*** char(2) default '男',

stu_id int unique

)engine=innodb,charset=utf-8,auto_increment=100

drop table 表名;
alter table 表名 add|drop|modify|change|alter|rename

alter table student add class_id int;//接最後一列新增新字段class_id

alter table student add class_id int first;//在第一列新增新字段class_id

alert table student add class_id int after ***;//在***字段之後新增新字段class_id

alter table student drop class_id;//刪除class_id欄位
modify和change都可以修改字段,其區別就在於:

change必須指定新的欄位名而modify則不需要(如果需要修改欄位名只能用change,否則用哪個都可以)

alter table student change class_id c_id varchar(20);//將class_id欄位名改為c_id並修改資料型別為varchar(20)

alter table student change class_id class_id varchar(20);//修改class_id資料型別為varchar(20)不修改欄位名

alter table student modify class_id varchar(20);//將class_id資料型別修改為varchar(20)

alter table student alter class_id set default 0;//設定預設值為0

alter table student alter class_id drop default;//刪除預設值

*為什麼有了modify和change還要來個alter呢?這是因為另外兩個在修改的時候會把字段之前舊的屬性全部覆蓋掉

舉個栗子:現在需要修改class_id default的值,我們需要這麼寫

alter table student modify class_id varchar(20) default 10;
而採用alter則不需要則可以只需要設定預設值

alter table student rename to student_test;//將student表名改為student_test

alter table student engine=myisam;//將儲存引擎修改為myisam

MYSQL基礎筆記 三 表操作基礎

資料表的操作 表與字段是密不可分的。新增資料表 1 create table if not exists 表名 2欄位名 資料型別,3欄位名 資料型別,4 欄位n 資料型別 最後一行不需要加逗號 5 表選項 if not exists 如果表名不存在,那麼就建立,否則不執行建立 實現檢查功能。表選項...

MYSQL 庫 表 資料基礎操作

資料庫 儲存大量資料的倉庫。主要儲存在磁碟和記憶體中。分類 1 關係型資料庫 sql 儲存方式固定,安全。主要用mysql來查詢資料。2 非關聯式資料庫 nosql 儲存方式比較靈活,儲存資料的效率比較高,不太安全。一種關係型資料庫管理系統,效能高,成本低,可靠性好。表裡面存放著資料,資料庫裡面儲存...

mysql基礎操作語句 Mysql基礎操作語句

比如乙個學生表student有三個欄位id,name,資料型別分別為int varchar varchar 增加資料 語法 insert into 表名 values val1,val2.例 insert into student values 1516,張三 男 部分字段插入 insert int...