天天看點

sql點滴41—mysql常見sql文法

ALTER TABLE:添加,修改,删除表的列,限制等表的定義。

  • 檢視列:desc 表名;
  • 修改表名:alter table t_book rename to bbb;
  • 添加列:alter table 表名 add column 列名 varchar(30);
  • 添加帶注釋的列:alter table directory add index_url varchar(256) default null comment '章節書目連結' after dir_url;
  • 删除列:alter table 表名 drop column 列名;
  • 修改列名MySQL: alter table bbb change nnnnn hh int;
  • 修改列名SQLServer:exec sp_rename't_student.name','nn','column';
  • 修改列名Oracle:lter table bbb rename column nnnnn to hh int;
  • 修改列屬性:alter table t_book modify name varchar(22);

sp_rename:SQLServer 内置的存儲過程,用與修改表的定義。

MySQL 檢視限制,添加限制,删除限制 添加列,修改列,删除列

  • 檢視表的字段資訊:desc 表名;
  • 檢視表的所有資訊:show create table 表名;
  • 添加主鍵限制:alter table 表名 add constraint 主鍵 (形如:PK_表名) primary key 表名(主鍵字段);
  • 添加外鍵限制:alter table 從表 add constraint 外鍵(形如:FK_從表_主表) foreign key 從表(外鍵字段) references 主表(主鍵字段);
  • 删除主鍵限制:alter table 表名 drop primary key;
  • 删除外鍵限制:alter table 表名 drop foreign key 外鍵(區分大小寫);
  • 修改列名Oracle:alter table bbb rename column nnnnn to hh int;
  •  MySQL修改字段預設值

      解決

      alter table topic alter column cateId set default '2';

      文法

      alter table表名alter column字段名drop default; (若本身存在預設值,則先删除)

      alter table 表名 alter column 字段名 set default 預設值;(若本身不存在則可以直接設定)

  • 添加帶預設值,帶字段描述的列:ALTER TABLE jz_order ADD COLUMN delay_delivery tinyint(3) DEFAULT 0 COMMENT '是否延期收貨,0:表示沒有延期,1:第一次延期 2:第二次延期' AFTER c_userid;

INSERT IGNORE 與INSERT INTO的差別就是INSERT IGNORE會忽略資料庫中已經存在 的資料,如果資料庫沒有資料,就插入新的資料,如果有資料的話就跳過這條資料。這樣就可以保留資料庫中已經存在資料,達到在間隙中插入資料的目的。

eg:

insert ignore into table(name)  select  name from table2

MySQL 相關資料庫、表、表結構等顯示指令

1、顯示資料庫清單。

show databases;

2、顯示庫中的資料表:

use mysql;

show tables;

3、顯示資料表的結構:

describe 表名;

4、建庫:

create database 庫名;

5、建表:

use 庫名;

create table 表名 (字段設定清單);

6、删庫和删表:

drop database 庫名;

drop table 表名;

7、将表中記錄清空:

delete from 表名;

作者:

Tyler Ning

出處:

http://www.cnblogs.com/tylerdonet/

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,如有問題,可以通過以下郵箱位址

[email protected]

 聯系我,非常感謝。