首頁  >  文章  >  資料庫  >  mysql中對錶的操作教程

mysql中對錶的操作教程

零下一度
零下一度原創
2017-06-30 15:13:481360瀏覽

資料庫的建立與刪除
  黑視窗啟動資料庫服務:net start mysql
  關閉資料庫服務:net stop mysql

建立資料庫
使用關鍵字create database
格式:
create database 資料庫名稱;
create database 資料庫名稱character set 字元集;

#查看mysql中所有的資料庫
show databases;

查看某個資料庫的定義資訊
show create database 資料庫名稱 範例:show create database mybase;

#切換資料庫
use 資料庫名稱 例:use test;

查看正在使用的資料庫
select database;

##刪除資料庫drop database 資料庫名稱  範例:drop database test;

#建立資料庫中的表.

使用關鍵字create table

[]在資料庫中是可選的意思,可以有,可以沒有
格式:
create table 表名(
  字段名資料類型[長度] [約束],
  字段名資料類型[長度] [約束],
  ......
  字段名資料類型[長度] [約束](最後一個不能有逗號)
);
範例:建立商品分類表category
create table category(
  cid int primary key,
  cname varchar(100)
);

查看目前資料庫中所有的表show

#show tables;

查看表格結構

desc 表名 範例:desc category;


刪除表

#格式: drop table 表名

範例:drop table category;

修改表新增列

alter table 表名add 列名類型[長度] [約束];

範例:alter table category add name int ;

修改表格修改資料列的型別長度及約束

alter table 表名modify 列名類型[長度] [約束];
注意:如果有資料,必須注意資料型別varchar-->容易有錯誤資料
例:alter table category modify description int;

alter table category modify description varchar(20) not null;


#修改列名以及資料型別與限制

alter tble 表名drop 列名;
注意:如果列中有資料資料就會一起刪除了需謹慎

例:alter table category drop descr;


修改表名

rename table 表名to  新表名

例:rename table category to student;

修改表的字元集

alter  table 表名character set 字元集
注意:不建議執行有可能會產生亂碼

例:alter table category character set gbk;


在資料庫表中插入資料

使用關鍵字insert [into]
格式:
包含主鍵:insert into 表名(字段1,字段2,....) values (值1,值2,....);
主鍵自增,省略主鍵:insert into 表名(不包含主鍵) values (不包含主鍵) ;注意事項:

1.字段和值一定要一一對應(個數,數據類型)
2.除了數值類型(int ,double),其他的數據類型都需要使用引號包裹起來
可以使用''.也可以使用"",建議使用''
包含主鍵:insert into 表名(字段1,字段2,...) values (值1 ,值2,....);
範例:insert into category (cid,cname) values (1,"服裝");
  insert into category (cid,cname) values (1,"彩色電視" );


建立category表主鍵自增auto_increment(主鍵自行加入,自己成長)
範例:create table category(
  cid int primary key auto_increment,
  cname int primary key auto_increment,
  cname " 100)
);

主鍵自增,省略主鍵:insert into 表名(不包含主鍵) values (不包含主鍵);

例:insert into category (cname) values ("彩電") ;

 
批次插入資料

格式:
包含主鍵: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,'空調') ,(4,'洗衣機');

insert into category  (cname) values ('微波爐'),('電磁爐');

#省略字段名格式:必須給出全部字段的值(包含主鍵)

格式:
insert into 表名values (全部字段的值);
insert into 表名values (全部字段的值),(全部字段的值),..;
例:insert into category values(7,'冰箱');
  insert into category values(8,'筆記型電腦'),('桌上型電腦');

新增資料,記不住主鍵的情況下,可以使用null ,sql會自動計算主鍵

###例:insert into category values (null,'小米6'); ###

更新表格資料,使用關鍵字update(更新,修改) set(設定)
格式:
不含條件篩選,一次修改欄位中所有的資料
update表名set 字段名=字段值,字段名=字段值,...;
帶條件過濾,使用關鍵字where
update 表名set 字段名=字段值,字段名=字段值,. ..where 過濾條件;
不低條件過濾(慎用)
例:update category set cname='全部修改';
帶條件過濾,使用關鍵字where
update category set cname ='黑白電視機' where cid=4;


刪除表資料使用關鍵字delete from
格式:
delete from 表名[where 條件過濾];
delete from 表名刪除表中的所有資料,但是不會刪除主鍵自增
truncate table 表名;刪除表中的所有資料,會刪除主鍵自增,讓主鍵自增重置從1開始
delete from 表名[where 條件過濾];
例:delete from category where cid=4;
delete from 表名
範例:delete from category;
使用delete刪除之後插入資料,主鍵會出現斷號,沒有之前的序號
insert into category (cname) values ('手機');
delete from category where cid=12;
insert into category (cid ,cname) values(12,'手動插入指定的主鍵列');

truncate table 表名
例:truncate table category


#主鍵約束
使用關鍵primary  key
作用:
約束主鍵列不能為null
不能重複
每個表都必須有一個主鍵,且只能有一個主鍵
# 主鍵不能使用業務資料


新增主鍵的第一種方式
在列名之後直接加入
create table persons(
  Id_p int primary key,
  LastName varchar(255),
  FirstName varchar(255),
  Address varchar(255),
  City varchar(255)##L); ) values (1,'張');
insert into persons(Id_p,LastName) values (null,'張');-- 非空白
insert into persons(Id_p,LastName) values (1,'張');-- 重複

新增主鍵的第二種方式
#使用constraint區域格式:
[constraint 名稱] primary key (欄位清單)
CREATE TABLE persons(
   Id_P INT,
   LastName VARCHAR(255),
   FirstName VARCHAR(255),
(255 ),
   CONSTRAINT pk_id_p PRIMARY KEY(Id_P)
);
constraint如果不給主鍵的名字,可以省略關鍵字constraint
CREATE TABLE persons(
#   LastName VARCHAR(255),
   FirstName VARCHAR(255),
   Address VARCHAR(255),
   City VARCHAR(255),#"

##新增主鍵的第三種方式

建立表格之後,透過修改表格結構,新增主鍵的第一種方式
alter table 表名add [constraint 名稱] 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;

聯合主鍵
使用兩個以上的欄位為主鍵CREATE TABLE persons(
   Id_P INT,

   LastName VARCHAR(255),

   FirstName VARCHAR(255),
   Address VARCHAR(255),    City VARCHAR(255),   PRIMAR
非空約束

使用關鍵字not null
作用:強制約束某一列不能為null(不接受null值)


建立非空約束的第一種格式,建立表示,欄位後直接給予

CREATE TABLE persons(

   Id_P INT PRIMARY KEY AUTO_INCREMENT,

   LastName VARCHAR(255),#355( ##    Address VARCHAR(255),
   City VARCHAR(255) NOT NULL);新增資料
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
#

建立非空約束方式二
修改表格結構
alter table 表名modify 欄位名稱類型[長度] [約束];
CREATE TABLE persons(
   Id_P INT PRIMARY KEY AUTO_INCREMENT,
   LastName VARCHAR(255),
   FirstName VARCHAR(255),
    讓LE persons MODIFY city VARCHAR(255)NOT NULL;


刪除非空約束

alter table persons modify city varchar(255); 
































唯一約束

使用關鍵字unique
作用:新增了唯一約束的欄位,不能重複


建立唯一約束的第一種格式,建立表時,在欄位後面直接給出

CREATE TABLE persons(

   Id_P INT PRIMARY KEY AUTO_INCREMENT,

   LastName VARCHAR(255),
(255),    City VARCHAR(255) UNIQUE);
INSERT INTO persons (lastname,city) VALUES('張','毛里求斯');
-- Duplicate entry '毛里求斯' for key 'City'
INSERT INTO persons (lastname,city) VALUES('王','毛里求斯');


建立唯一約束的第二種格式,建立表時使用[constraint 名稱] unique (欄位清單)
CREATE TABLE persons(
   Id_P INT PRIMARY KEY AUTO_INCREMENT,
   LastName VARCHAR(255),#CHAR5(L$55),#355(755),#35(755)( #    Address VARCHAR(255),
   City VARCHAR(255),
   CONSTRAINT UNIQUE(City)
);


創建表,修改表格資料

alter table 表名modify 欄位名稱類型[長度] [約束];
CREATE TABLE persons(

   Id_P INT PRIMARY KEY AUTO_INCREMENT,###       LastName VCHAR( ###    FirstName VARCHAR(255),###    Address VARCHAR(255), ###    City VARCHAR(255)###);###ALTER TABLE pers片 MOD> 555675 月 575 月 1575 月) U表名add [constraint 名稱] unique (字段列表)###CREATE TABLE persons(###    Id_P INT PRIMARY KEY AUTO_INCREMENT,###    LastName VARCHAR(255),#55 ress VARCHAR(255), ###    City VARCHAR(255)###);###ALTER TABLE persons ADD UNIQUE(City);############刪除唯一約束######################################################################### #alert table persons drop index 名稱###定義約束的時候,如果沒有創建名稱,則名稱為字串###alter table persons drop index city;#############預設約束# #####為欄位新增一個預設值,如果欄位沒有插入值,則使用預設值###使用關鍵字default值###建立預設約束方式一,建立表格,列資料類型後面default '預設值'###CREATE TABLE persons(###    Id_P INT PRIMARY KEY AUTO_INCREMENT,###    LastName VARCHAR(255),###     City VARCHAR( 255)DEFAULT '中國'###);###INSERT INTO persons (lastname) VALUES('張');###INSERT INTO persons (lastname,city) VALUES('張','加拿大');# ##

以上是mysql中對錶的操作教程的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn