sql常用语句总结一

创建数据表

create table table_name (column_name column_type);

例子:

create table cus_tb1 (
    cus_id INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
    cus_firstname VARCHAR(100) NOT NULL,
    cus_username VARCHAR(100) NOT NULL,
    PRIMARY KEY (cus_id)
);

查看数据表

show tables;

查看数据表结构

desc table_name; //\G表示以美化方式查看

修改数据表

在 MySQL 中,ALTER 语句用来修改数据表名称或者数据表字段名称。也可以用来添加或者删除数据表字段。
ALTER 语句经常和 "ADD", "DROP" and "MODIFY" 命令一起使用。

添加列 (add)

alter table table_name add new_column column_defination [ first | after column_name];

参数:
table_name: 要修改的表的名称。
new_column_name: 要添加到数据表 table_name 的新字段。
column_definition: 定义新字段的数据类型,(NULL or NOT NULL, 等)。
first | after column_name: 这里是一个选项,告诉 MySQL 新字段在数据表中的位置。如果没有这个参数,新字段将被添加到数据表所有字段的末尾。

例子:往cus_tb1中添加新字段

alter table cus_tb1 add cus_age varchar(40) not null;

添加多列到数据表中 (通过逗号分离)

ALTER TABLE table_name ADD new_column_name column_definition [ FIRST | AFTER column_name ],
ADD new_column_name column_definition [ FIRST | AFTER column_name ],
...
;
例子:我们将添加两个新列 cus_address 和 cus_salary 到数据表 cus_tbl 中。 其中 cus_address 被添加到列 cus_username 之后,而 cus_salary 添加在 cus_age 列之后。

alter table cus_tb1 add cus_address varchar(100) not null after cus_username,
add cus_salary int(100) unsigned not null after cus_age;

修改数据表中的列 (modify)

MODIFY 命令被用来修改数据表中列的定义。

ALTER TABLE table_name MODIFY column_name column_definition
[ FIRST | AFTER column_name ];

例子:我们将修改列 cus_username 的数据类型为 varchar(50),并且允许为空。

alter table cus_tb1 modify cus_username varchar(50) null;

删除数据表中的列 (drop column)

ALTER TABLE table_name DROP COLUMN column_name;

例子:从数据表 cus_tbl 中删除名成为 cus_address 的列。

alter table cus_tb1 drop column cus_address;

重命名数据表的列 (change column)

ALTER TABLE table_name CHANGE COLUMN old_name new_name column_definition
[ FIRST | AFTER column_name ]

例子:将数据表中名称为 cus_username的列修改为 cus_title。

alter table cus_tb1 change column cus_username cus_title varchar(20) not null;

重命名数据表名 (rename to)

ALTER TABLE table_name RENAME TO new_table_name;

例子:将名称为 cus_tbl 的数据表重命名为 cus_table

alter table cus_tb1 rename to cus_table;

清空数据表里的数据 (truncate table)

TRUNCATE TABLE 语句可以在保留数据表结构的情况下清空数据表中的数据。

TRUNCATE TABLE table_name;

例子:清空数据表 cus_tbl 中的数据

truncate table cus_table;

彻底删除数据表 (drop table)

DROP TABLE table_name;

例子:这个例子中我们将删除数据表 cus_table

drop table cus_table;

TRUNCATE Table vs DROP Table的区别

DROP TABLE 命令彻底将数据表从数据库中删除,当需要再次使用该数据表的时候,必须重新创建。而 TRUNCATE TABLE 命令只是将数据表中的数据清空,数据表本身没有被删除,数据表的结构也没有改变。需要再次使用该数据表的时候,不需要重新创建。

创建视图view

在 MySQL 中,View 是通过连接一个或多个表来创建查询的虚拟表。
VIEW 是由 SELECT 语句创建的。SELECT 语句用于从源表获取数据以生成 VIEW。

CREATE [OR REPLACE] VIEW view_name AS
SELECT columns FROM tables [WHERE conditions];

参数:
OR REPLACE: 它是可选的。当 VIEW 已经存在时使用它。如果您没有指定此子句且 VIEW 已经存在,则 CREATE VIEW 语句将返回一个错误。
view_name: 它指定要在 MySQL 中创建的 VIEW 的名称。
WHERE conditions: 它也是可选的。它指定要将记录包含在 VIEW 中的条件。

例子:创建一个名为 "trainer" 的 VIEW。这是一个从 "courses" 表中获取数据生成的虚拟表

create view trainer as 
select course_name,course_trainer from courses;

查看创建的视图view

SELECT * FROM view_name;

从上面的view中查看

select * from trainer;

更新视图view

在 MYSQL 中,ALTER VIEW 语句用于修改或更新已经创建的 VIEW,而不会删除它。

ALTER VIEW view_name AS SELECT columns FROM table WHERE conditions;

例子:下面的示例将通过添加一个新列来更改已经创建的 VIEW "trainer"。

ALTER VIEW trainer AS  
SELECT course_name, course_trainer, course_id  
FROM courses;

删除视图VIEW

DROP VIEW [IF EXISTS] view_name;

参数:
view_name: 它指定要删除的 VIEW 的名称。
IF EXISTS: 它是可选的。如果您没有指定此子句且 VIEW 不存在,则 DROP VIEW 语句将返回一个错误。

例子:

DROP VIEW trainer;  
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352

推荐阅读更多精彩内容