明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

mysql中對(duì)表的設(shè)置圖文說(shuō)明教程

[摘要]數(shù)據(jù)庫(kù)的創(chuàng)建和刪除  黑窗口啟動(dòng)數(shù)據(jù)庫(kù)服務(wù):net start mysql  關(guān)閉數(shù)據(jù)庫(kù)服務(wù):net stop mysql創(chuàng)建數(shù)據(jù)庫(kù)使用關(guān)鍵字create database格式: create database 數(shù)據(jù)庫(kù)名; create database 數(shù)據(jù)庫(kù)名 character set 字符...
數(shù)據(jù)庫(kù)的創(chuàng)建和刪除
  黑窗口啟動(dòng)數(shù)據(jù)庫(kù)服務(wù):net start mysql
  關(guān)閉數(shù)據(jù)庫(kù)服務(wù):net stop mysql

創(chuàng)建數(shù)據(jù)庫(kù)
使用關(guān)鍵字create database
格式:
create database 數(shù)據(jù)庫(kù)名;
create database 數(shù)據(jù)庫(kù)名 character set 字符集;

查看mysql中所有的數(shù)據(jù)庫(kù)
show databases;

查看某個(gè)數(shù)據(jù)庫(kù)的定義信息
show create database 數(shù)據(jù)庫(kù)名 例:show create database mybase;

切換數(shù)據(jù)庫(kù)
use 數(shù)據(jù)庫(kù)名 例:use test;

查看正在使用的數(shù)據(jù)庫(kù)
select database;

刪除數(shù)據(jù)庫(kù)
drop database 數(shù)據(jù)庫(kù)名稱(chēng) 例:drop database test;

創(chuàng)建數(shù)據(jù)庫(kù)中的表.

使用關(guān)鍵字create table
[]在數(shù)據(jù)庫(kù)中是可選的意思,可以有,可以沒(méi)有
格式:
create table 表名(
  字段名 數(shù)據(jù)類(lèi)型[長(zhǎng)度] [約束],
  字段名 數(shù)據(jù)類(lèi)型[長(zhǎng)度] [約束],
  ......
  字段名 數(shù)據(jù)類(lèi)型[長(zhǎng)度] [約束](最后一個(gè)不能有逗號(hào))
);
例:創(chuàng)建商品分類(lèi)表category
create table category(
  cid int primary key,
  cname varchar(100)
);

查看當(dāng)前數(shù)據(jù)庫(kù)中所有的表
show tables;

查看表結(jié)構(gòu)
desc 表名 例:desc category;


刪除表
格式:drop table 表名
例:drop table category;

修改表添加列
alter table 表名 add 列名 類(lèi)型[長(zhǎng)度] [約束];
例:alter table category add name int ;

修改表修改列的類(lèi)型長(zhǎng)度及約束
alter table 表名 modify 列名 類(lèi)型[長(zhǎng)度] [約束];
注意:如果有數(shù)據(jù) ,必須注意數(shù)據(jù)類(lèi)型varchar-->容易有錯(cuò)誤數(shù)據(jù)
例:alter table category modify description int;
alter table category modify description varchar(20) not null;


修改列名以及數(shù)據(jù)類(lèi)型和約束
alter tble 表名 drop 列名;
注意:如果列中有數(shù)據(jù) 數(shù)據(jù)就會(huì)一起刪除了 需謹(jǐn)慎
例:alter table category drop descr;


修改表名
rename table 表名 to 新表名
例:rename table category to student;

修改表的字符集
alter table 表名 character set 字符集
注意:不建議執(zhí)行 有可能會(huì)產(chǎn)生亂碼
例:alter table category character set gbk;


往數(shù)據(jù)庫(kù)表中插入數(shù)據(jù)
使用關(guān)鍵字insert [into]
格式:
包含主鍵:insert into 表名(字段1,字段2,....) values (值1,值2,....);
主鍵自增,省略主鍵:insert into 表名 (不包含主鍵) values (不包含主鍵);
注意事項(xiàng):
1.字段和值一定要一一對(duì)應(yīng)(個(gè)數(shù),數(shù)據(jù)類(lèi)型)
2.除了數(shù)值類(lèi)型(int ,double),其他的數(shù)據(jù)類(lèi)型都需要使用引號(hào)包裹起來(lái)
可以使用''.也可以使用"",建議使用''
包含主鍵:insert into 表名 (字段1,字段2,...) values (值1,值2,....);
例:insert into category (cid,cname) values (1,"服裝");
insert into category (cid,cname) values (1,"彩電");


創(chuàng)建category表主鍵自增auto_increment(主鍵自己添加,自己增長(zhǎng))
例:create table category(
  cid int primary key auto_increment,
  cname varchar(100)
);
主鍵自增,省略主鍵:insert into 表名 (不包含主鍵) values (不包含主鍵);
例:insert into category (cname) values ("彩電");

批量插入數(shù)據(jù)
格式:
包含主鍵:insert into 表名 (字段1,字段2,...) values (值1,值2,...),(值1,值2,...),(值1,值2,...);
主鍵自增,省略主鍵:insert into 表名 (不包含主鍵) values (值1,值2,...),(值1,值2,...)..;
insert into category (cid,cname) values (3,'空調(diào)'),(4,'洗衣機(jī)');
insert into category (cname) values ('微波爐'),('電磁爐');


省略字段名格式:必須給出全部字段的值(包含主鍵)
格式:
insert into 表名 values (全部字段的值);
insert into 表名 values (全部字段的值),(全部字段的值),..;
例:insert into category values(7,'冰箱');
insert into category values(8,'筆記本電腦'),('臺(tái)式機(jī)');


添加數(shù)據(jù),記不住主鍵的情況下,可以使用null ,sql會(huì)自動(dòng)計(jì)算主鍵
例:insert into category values (null,'小米6');

更新表數(shù)據(jù),使用關(guān)鍵字update(更新,修改) set(設(shè)置)
格式:
不帶條件過(guò)濾,一次修改列中所有的數(shù)據(jù)
update 表名 set 字段名=字段值,字段名=字段值,...;
帶條件過(guò)濾,使用關(guān)鍵字where
update 表名 set 字段名=字段值,字段名=字段值,...where 過(guò)濾條件;
不低條件過(guò)濾(慎用)
例:update category set cname='全部修改';
帶條件過(guò)濾,使用關(guān)鍵字where
update category set cname='黑白電視機(jī)' where cid=4;


刪除表數(shù)據(jù) 使用關(guān)鍵字delete from
格式:
delete from 表名 [where 條件過(guò)濾];
delete from 表名 刪除表中的所有數(shù)據(jù),但是不會(huì)刪除主鍵自增
truncate table 表名;刪除表中的所有數(shù)據(jù),會(huì)刪除主鍵自增,讓主鍵自增重置從1開(kāi)始
delete from 表名 [where 條件過(guò)濾];
例:delete from category where cid=4;
delete from 表名
例:delete from category;
使用delete刪除之后插入數(shù)據(jù),主鍵會(huì)出現(xiàn)斷號(hào),沒(méi)有之前的序號(hào)
insert into category (cname) values ('手機(jī)');
delete from category where cid=12;
insert into category (cid,cname) values(12,'手動(dòng)插入指定的主鍵列');

truncate table 表名
例:truncate table category


主鍵約束
使用關(guān)鍵primary key
作用:
約束主鍵列不能為null
不能重復(fù)
每個(gè)表都必須有一個(gè)主鍵,且只能有一個(gè)主鍵
主鍵不能使用業(yè)務(wù)數(shù)據(jù)


添加主鍵的第一種方式
在列名之后直接添加
create table persons(
  Id_p int primary key,
  LastName varchar(255),
  FirstName varchar(255),
  Address varchar(255),
  City varchar(255)
);
insert into persons(Id_p,LastName) values (1,'張');
insert into persons(Id_p,LastName) values (null,'張');-- 非空
insert into persons(Id_p,LastName) values (1,'張');-- 重復(fù)


添加主鍵的第二種方式
使用constraint區(qū)域
格式:
[constraint 名稱(chēng)] primary key (字段列表)
CREATE TABLE persons(
  Id_P INT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255),
  CONSTRAINT pk_id_p PRIMARY KEY(Id_P)
);
constraint如果不給出主鍵的名字,可以省略關(guān)鍵字constraint
CREATE TABLE persons(
  Id_P INT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255),
  PRIMARY KEY(Id_P)
);


添加主鍵的第三種方式
創(chuàng)建表之后,通過(guò)修改表結(jié)構(gòu),添加主鍵的第一種方式
alter table 表名 add [constraint 名稱(chēng)] primary key (字段列表);
CREATE TABLE persons(
  Id_P INT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255)
);
ALTER TABLE persons ADD PRIMARY KEY(Id_P);


刪除主鍵
alter table persons drop primary key;


聯(lián)合主鍵
使用兩個(gè)以上的字段為主鍵
CREATE TABLE persons(
  Id_P INT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255),
  PRIMARY KEY(LastName,FirstName)
);


非空約束
使用關(guān)鍵字not null
作用:強(qiáng)制約束某一列不能為null(不接受null值)

創(chuàng)建非空約束的第一種格式,創(chuàng)建表示,字段后直接給出
CREATE TABLE persons(
  Id_P INT PRIMARY KEY AUTO_INCREMENT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255) NOT NULL
);
添加數(shù)據(jù)
INSERT INTO persons(lastname,city) VALUES('張','雄縣');
INSERT INTO persons(lastname,city) VALUES('李','null');
INSERT INTO persons(lastname,city) VALUES('王','');
INSERT INTO persons(lastname,city) VALUES('趙',NULL);-- Column 'City' cannot be null


java四大皆空
String s ="";s="null" s=null; void

創(chuàng)建非空約束方式二
修改表結(jié)構(gòu)
alter table 表名 modify 列名 類(lèi)型[長(zhǎng)度] [約束];
CREATE TABLE persons(
  Id_P INT PRIMARY KEY AUTO_INCREMENT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255)
);
ALTER TABLE persons MODIFY city VARCHAR(255)NOT NULL;

刪除非空約束
alter table persons modify city varchar(255);

唯一約束
使用關(guān)鍵字unique
作用:添加了唯一約束的字段,不能重復(fù)

創(chuàng)建唯一約束的第一種格式,創(chuàng)建表時(shí),在字段后直接給出
CREATE TABLE persons(
  Id_P INT PRIMARY KEY AUTO_INCREMENT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255) UNIQUE
);
INSERT INTO persons (lastname,city) VALUES('張','毛里求斯');
-- Duplicate entry '毛里求斯' for key 'City'
INSERT INTO persons (lastname,city) VALUES('王','毛里求斯');


創(chuàng)建唯一約束的第二種格式,創(chuàng)建表時(shí)使用[constraint 名稱(chēng)] unique (字段列表)
CREATE TABLE persons(
  Id_P INT PRIMARY KEY AUTO_INCREMENT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255),
  CONSTRAINT UNIQUE(City)
);

創(chuàng)建唯一約束的第三種格式,創(chuàng)建表之后,修改表數(shù)據(jù)
alter table 表名 modify 列名 類(lèi)型[長(zhǎng)度] [約束];
CREATE TABLE persons(
  Id_P INT PRIMARY KEY AUTO_INCREMENT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255)
);
ALTER TABLE persons MODIFY city VARCHAR(255) UNIQUE;
alter table 表名 add [constraint 名稱(chēng)] unique (字段列表)
CREATE TABLE persons(
  Id_P INT PRIMARY KEY AUTO_INCREMENT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255)
);
ALTER TABLE persons ADD UNIQUE(City);


刪除唯一約束
alert table persons drop index 名稱(chēng)
定義約束的時(shí)候,如果沒(méi)有創(chuàng)建名稱(chēng),則名稱(chēng)為字符串
alter table persons drop index city;


默認(rèn)約束
給字段添加一個(gè)默認(rèn)值,如果字段沒(méi)有插入值,則使用默認(rèn)值
使用關(guān)鍵字default值
創(chuàng)建默認(rèn)約束方式一,創(chuàng)建表,列數(shù)據(jù)類(lèi)型后面 default '默認(rèn)值'
CREATE TABLE persons(
  Id_P INT PRIMARY KEY AUTO_INCREMENT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255)DEFAULT '中國(guó)'
);
INSERT INTO persons (lastname) VALUES('張');
INSERT INTO persons (lastname,city) VALUES('張','加拿大');

以上就是mysql中對(duì)表的操作教程的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門(mén)到精通的SQL知識(shí)。