阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

MySQL常用语句

111次阅读
没有评论

共计 9214 个字符,预计需要花费 24 分钟才能阅读完成。

一、前言

今天天气很好,大晴天,心情也好好的。就将 MySQL 常用的语句总结一下,记录在随笔里,也顺便分享分享。日后,这篇随笔我将会持续更新,作为我自己的 MySQL 语句大全。

二、常用 SQL 语句

我将由外到里进行编写(数据库到表再到数据)

库层:

1、SHOW DATABASES;

2、CREATE DATABASE dbname;

3、DROP DABABASE dbname;

4、ALTER DATABASE dbname set= 新字符集 collate= 新校对集;

5、USE dbname;

6、SHOW CREATE DATABASE dbname;

表层:

1、创建表形式:

CREATE TABLE tabname

(

          字段名 1,数据类型 [列级别约束条件] [默认值],

  字段名 1,数据类型 [列级别约束条件] [默认值],

  [表级别约束条件]

);

  a、使用主键约束 PRIMARY KEY

    两个地方添加:1、列约束条件位置 (PRIMARY KEY)  2、表级别约束条件位置 ([CONSTRAINT < 约束名 >]  PRIMARY KEY [字段名])

  b、使用唯一性约束 UNIQUE

      同上两个地方添加:1、UNIQUE  2、[CONSTRAINT < 约束名 >]  UNIQUE(< 字段名 >)

    与主键的区别,两者同样要求唯一,但是 UNIQUE 可以是 NULL,主键不可以。且一个表中 PRIMARY KEY 只能是一个,UNIQUE 可以存在多个。

  c、使用外键约束 (InnoDB) FOREIGN KEY

      一个地方添加:1、表级别约束条件位置添加 [CONSTRAINT < 外键名 >]  FOREIGN KEY 字段名 1[, 字段名 2,…]  REFERENCES < 主表名 > 主键列 [, 主键列 2,….]

  注意:两个表之间有了外键的联系,不能直接删除主表,否则会出错!若必须要删除主表,可以先删除外键,再来删除主表。

  d、非空约束 NOT NULL

      一个地发添加:1、列约束条件位置  NOT NULL

  e、使用默认约束 DEFAULT

    一个位置添加:1、列约束条件位置  DEFAULT 默认值

  f、设置表的属性值自动增加  AUTO_INCREMENT

    一个位置添加:1、列约束条件位置  AUTO_INCREMENT

  注意:此时的列必须是主键或者唯一键!

  索引问题:以下是普通索引、全文索引、空间索引。上面创建约束的同时也是创建相应的索引,主键索引、唯一索引等等。

  g、普通索引 INDEX/KEY

      一个位置添加:1、列约束条件位置  INDEX(< 字段名 >);

  h、全文索引 (MyISAM) FULLTEXT

      一个位置添加:1、列约束条件位置  FULLTEXT KEY [‘名字’] (‘字段名’);

  i、创建空间索引 (MyISAM) SPATIAL

    一个位置添加:1、列约束条件位置  SPATIAL KEY [‘名字’] (‘字段名’);

2、DESCRIBE/DESC tabname;

3、SHOW CREATE TABLE tabname;

4、DROP TABLE [IF EXISTS] < 表名 >;

5、ALTER TABLE < 表名 > ENGINE=< 更改后的存储引擎 >;

6、ALTER TABLE < 旧表名 > RENAME [TO] < 新表名 >;

7、ALTER TABLE < 表名 > MODIFY < 字段名 > < 数据类型 >;

8、ALTER TABLE < 表名 > CHANGE < 旧字段名 > < 新字段名 > < 新数据类型 >;

9、ALTER TABLE < 表名 > ADD < 新字段名 > < 新字段类型 > [约束条件] [FIRST|AFTER 已存在的字段名];

10、ALTER TABLE < 表名 > MODIFY < 字段 1 > < 数据类型 > FIRST|AFTER < 字段 2 >;

11、ALTER TABLE < 表名 >DROP < 字段名 >;

#在已有的表上创建索引

12、ALTER TABLE < 表名 > ADD INDEX [索引名] (字段名);

13、ALTER TABLE < 表名 > ADD PRIMARY KEY (字段名);

14、ALTER TABLE < 表名 > ADD FOREIGN KEY (字段名) REFERENCES < 主表名 > (主键字段);

15、ALTER TABLE < 表名 > ADD UNIQUE KEY (字段名);

16、ALTER TABLE < 表名 > ADD FULLTEXT KEY(字段名);

17、ALTER TABLE < 表名 > ADD SPATIAL KEY (字段名);

18、ALTER TABLE < 表名 > ALTER < 字段名 > SET DEFAULT 默认值;

#删除索引

19、ALTER TABLE < 表名 > ALTER < 字段名 > DROP DEFAULT;

20、ALTER TABLE < 表名 > DROP PRIMARY KEY;

21、ALTER TABLE < 表名 > DROP FOREIGN KEY 外键名;

22、ALTER TABLE < 表名 > DROP INDEX 索引名;

23、DROP INDEX index_name ON tabname;

数据层:

1、插入数据

INSERT INTO tabname (column_list) VALUES (value_list);

INSERT INTO tabname (column_list) VALUES (value_list1),(value_list2),….,(value_listn);

INSERT INTO tabname SET 字段名 1 = 值 1, 字段名 2 = 值 2,….., 字段名 n = 值 n;\

2、更新数据

UPDATE tabname SET column_name1=value1,column_name2=value2,…column_namen=valuen WHERE (condition);

3、删除数据

DELETE FROM tabname[WHERE <condition>];

TRUNCATE [TABLE] tabname;

DELETE 与 TRUNCATE 的区别:TRUNCATE 直接删除整个表,再创建一个一模一样的表。

4、数据查询

(1)、SELECT {*|< 字段列表 >}

[

FROM < 表 1 >,< 表 2 >,…,< 表 n >

WHERE < 表达式 >

GROUP BY < 分组字段 >

HAVING <expression>

ORDER BY < 排序字段 >

LIMIT <num>

]

(2)、SELECT [字段 1, 字段 2,…, 字段 n] from [表 | 视图] WHERE [查询条件];

(3)、连接查询

a、内连接查询  SELECT tab1.* tab2.* FROM tab1 INNER JOIN tab2 ON <condition>;

b、左连接查询  SELECT tab1.* tab2.* FROM tab1 LEFT [OUTER] JOIN tab2 ON <condition>;

c、右连接查询  SELECT tab1.* tab2.* FROM tab1 RIGHT [OUTER] JOIN tab2 ON <condition>;

(4)、合并查询结果

      SELECT column,… FROM tab1

      UNION [ALL]

    SELECT column,…FROM tab2;

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2017-03/141234p2.htm

二、常用 SQL 语句

我将由外到里进行编写(数据库到表再到数据)

库层:

1、SHOW DATABASES;

2、CREATE DATABASE dbname;

3、DROP DABABASE dbname;

4、ALTER DATABASE dbname set= 新字符集 collate= 新校对集;

5、USE dbname;

6、SHOW CREATE DATABASE dbname;

表层:

1、创建表形式:

CREATE TABLE tabname

(

          字段名 1,数据类型 [列级别约束条件] [默认值],

  字段名 1,数据类型 [列级别约束条件] [默认值],

  [表级别约束条件]

);

  a、使用主键约束 PRIMARY KEY

    两个地方添加:1、列约束条件位置 (PRIMARY KEY)  2、表级别约束条件位置 ([CONSTRAINT < 约束名 >]  PRIMARY KEY [字段名])

  b、使用唯一性约束 UNIQUE

      同上两个地方添加:1、UNIQUE  2、[CONSTRAINT < 约束名 >]  UNIQUE(< 字段名 >)

    与主键的区别,两者同样要求唯一,但是 UNIQUE 可以是 NULL,主键不可以。且一个表中 PRIMARY KEY 只能是一个,UNIQUE 可以存在多个。

  c、使用外键约束 (InnoDB) FOREIGN KEY

      一个地方添加:1、表级别约束条件位置添加 [CONSTRAINT < 外键名 >]  FOREIGN KEY 字段名 1[, 字段名 2,…]  REFERENCES < 主表名 > 主键列 [, 主键列 2,….]

  注意:两个表之间有了外键的联系,不能直接删除主表,否则会出错!若必须要删除主表,可以先删除外键,再来删除主表。

  d、非空约束 NOT NULL

      一个地发添加:1、列约束条件位置  NOT NULL

  e、使用默认约束 DEFAULT

    一个位置添加:1、列约束条件位置  DEFAULT 默认值

  f、设置表的属性值自动增加  AUTO_INCREMENT

    一个位置添加:1、列约束条件位置  AUTO_INCREMENT

  注意:此时的列必须是主键或者唯一键!

  索引问题:以下是普通索引、全文索引、空间索引。上面创建约束的同时也是创建相应的索引,主键索引、唯一索引等等。

  g、普通索引 INDEX/KEY

      一个位置添加:1、列约束条件位置  INDEX(< 字段名 >);

  h、全文索引 (MyISAM) FULLTEXT

      一个位置添加:1、列约束条件位置  FULLTEXT KEY [‘名字’] (‘字段名’);

  i、创建空间索引 (MyISAM) SPATIAL

    一个位置添加:1、列约束条件位置  SPATIAL KEY [‘名字’] (‘字段名’);

2、DESCRIBE/DESC tabname;

3、SHOW CREATE TABLE tabname;

4、DROP TABLE [IF EXISTS] < 表名 >;

5、ALTER TABLE < 表名 > ENGINE=< 更改后的存储引擎 >;

6、ALTER TABLE < 旧表名 > RENAME [TO] < 新表名 >;

7、ALTER TABLE < 表名 > MODIFY < 字段名 > < 数据类型 >;

8、ALTER TABLE < 表名 > CHANGE < 旧字段名 > < 新字段名 > < 新数据类型 >;

9、ALTER TABLE < 表名 > ADD < 新字段名 > < 新字段类型 > [约束条件] [FIRST|AFTER 已存在的字段名];

10、ALTER TABLE < 表名 > MODIFY < 字段 1 > < 数据类型 > FIRST|AFTER < 字段 2 >;

11、ALTER TABLE < 表名 >DROP < 字段名 >;

#在已有的表上创建索引

12、ALTER TABLE < 表名 > ADD INDEX [索引名] (字段名);

13、ALTER TABLE < 表名 > ADD PRIMARY KEY (字段名);

14、ALTER TABLE < 表名 > ADD FOREIGN KEY (字段名) REFERENCES < 主表名 > (主键字段);

15、ALTER TABLE < 表名 > ADD UNIQUE KEY (字段名);

16、ALTER TABLE < 表名 > ADD FULLTEXT KEY(字段名);

17、ALTER TABLE < 表名 > ADD SPATIAL KEY (字段名);

18、ALTER TABLE < 表名 > ALTER < 字段名 > SET DEFAULT 默认值;

#删除索引

19、ALTER TABLE < 表名 > ALTER < 字段名 > DROP DEFAULT;

20、ALTER TABLE < 表名 > DROP PRIMARY KEY;

21、ALTER TABLE < 表名 > DROP FOREIGN KEY 外键名;

22、ALTER TABLE < 表名 > DROP INDEX 索引名;

23、DROP INDEX index_name ON tabname;

数据层:

1、插入数据

INSERT INTO tabname (column_list) VALUES (value_list);

INSERT INTO tabname (column_list) VALUES (value_list1),(value_list2),….,(value_listn);

INSERT INTO tabname SET 字段名 1 = 值 1, 字段名 2 = 值 2,….., 字段名 n = 值 n;\

2、更新数据

UPDATE tabname SET column_name1=value1,column_name2=value2,…column_namen=valuen WHERE (condition);

3、删除数据

DELETE FROM tabname[WHERE <condition>];

TRUNCATE [TABLE] tabname;

DELETE 与 TRUNCATE 的区别:TRUNCATE 直接删除整个表,再创建一个一模一样的表。

4、数据查询

(1)、SELECT {*|< 字段列表 >}

[

FROM < 表 1 >,< 表 2 >,…,< 表 n >

WHERE < 表达式 >

GROUP BY < 分组字段 >

HAVING <expression>

ORDER BY < 排序字段 >

LIMIT <num>

]

(2)、SELECT [字段 1, 字段 2,…, 字段 n] from [表 | 视图] WHERE [查询条件];

(3)、连接查询

a、内连接查询  SELECT tab1.* tab2.* FROM tab1 INNER JOIN tab2 ON <condition>;

b、左连接查询  SELECT tab1.* tab2.* FROM tab1 LEFT [OUTER] JOIN tab2 ON <condition>;

c、右连接查询  SELECT tab1.* tab2.* FROM tab1 RIGHT [OUTER] JOIN tab2 ON <condition>;

(4)、合并查询结果

      SELECT column,… FROM tab1

      UNION [ALL]

    SELECT column,…FROM tab2;

(以上是自己的一些见解,若有不足或者错误的地方请各位指出)

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-03/141234.htm

一、前言

今天天气很好,大晴天,心情也好好的。就将 MySQL 常用的语句总结一下,记录在随笔里,也顺便分享分享。日后,这篇随笔我将会持续更新,作为我自己的 MySQL 语句大全。

二、常用 SQL 语句

我将由外到里进行编写(数据库到表再到数据)

库层:

1、SHOW DATABASES;

2、CREATE DATABASE dbname;

3、DROP DABABASE dbname;

4、ALTER DATABASE dbname set= 新字符集 collate= 新校对集;

5、USE dbname;

6、SHOW CREATE DATABASE dbname;

表层:

1、创建表形式:

CREATE TABLE tabname

(

          字段名 1,数据类型 [列级别约束条件] [默认值],

  字段名 1,数据类型 [列级别约束条件] [默认值],

  [表级别约束条件]

);

  a、使用主键约束 PRIMARY KEY

    两个地方添加:1、列约束条件位置 (PRIMARY KEY)  2、表级别约束条件位置 ([CONSTRAINT < 约束名 >]  PRIMARY KEY [字段名])

  b、使用唯一性约束 UNIQUE

      同上两个地方添加:1、UNIQUE  2、[CONSTRAINT < 约束名 >]  UNIQUE(< 字段名 >)

    与主键的区别,两者同样要求唯一,但是 UNIQUE 可以是 NULL,主键不可以。且一个表中 PRIMARY KEY 只能是一个,UNIQUE 可以存在多个。

  c、使用外键约束 (InnoDB) FOREIGN KEY

      一个地方添加:1、表级别约束条件位置添加 [CONSTRAINT < 外键名 >]  FOREIGN KEY 字段名 1[, 字段名 2,…]  REFERENCES < 主表名 > 主键列 [, 主键列 2,….]

  注意:两个表之间有了外键的联系,不能直接删除主表,否则会出错!若必须要删除主表,可以先删除外键,再来删除主表。

  d、非空约束 NOT NULL

      一个地发添加:1、列约束条件位置  NOT NULL

  e、使用默认约束 DEFAULT

    一个位置添加:1、列约束条件位置  DEFAULT 默认值

  f、设置表的属性值自动增加  AUTO_INCREMENT

    一个位置添加:1、列约束条件位置  AUTO_INCREMENT

  注意:此时的列必须是主键或者唯一键!

  索引问题:以下是普通索引、全文索引、空间索引。上面创建约束的同时也是创建相应的索引,主键索引、唯一索引等等。

  g、普通索引 INDEX/KEY

      一个位置添加:1、列约束条件位置  INDEX(< 字段名 >);

  h、全文索引 (MyISAM) FULLTEXT

      一个位置添加:1、列约束条件位置  FULLTEXT KEY [‘名字’] (‘字段名’);

  i、创建空间索引 (MyISAM) SPATIAL

    一个位置添加:1、列约束条件位置  SPATIAL KEY [‘名字’] (‘字段名’);

2、DESCRIBE/DESC tabname;

3、SHOW CREATE TABLE tabname;

4、DROP TABLE [IF EXISTS] < 表名 >;

5、ALTER TABLE < 表名 > ENGINE=< 更改后的存储引擎 >;

6、ALTER TABLE < 旧表名 > RENAME [TO] < 新表名 >;

7、ALTER TABLE < 表名 > MODIFY < 字段名 > < 数据类型 >;

8、ALTER TABLE < 表名 > CHANGE < 旧字段名 > < 新字段名 > < 新数据类型 >;

9、ALTER TABLE < 表名 > ADD < 新字段名 > < 新字段类型 > [约束条件] [FIRST|AFTER 已存在的字段名];

10、ALTER TABLE < 表名 > MODIFY < 字段 1 > < 数据类型 > FIRST|AFTER < 字段 2 >;

11、ALTER TABLE < 表名 >DROP < 字段名 >;

#在已有的表上创建索引

12、ALTER TABLE < 表名 > ADD INDEX [索引名] (字段名);

13、ALTER TABLE < 表名 > ADD PRIMARY KEY (字段名);

14、ALTER TABLE < 表名 > ADD FOREIGN KEY (字段名) REFERENCES < 主表名 > (主键字段);

15、ALTER TABLE < 表名 > ADD UNIQUE KEY (字段名);

16、ALTER TABLE < 表名 > ADD FULLTEXT KEY(字段名);

17、ALTER TABLE < 表名 > ADD SPATIAL KEY (字段名);

18、ALTER TABLE < 表名 > ALTER < 字段名 > SET DEFAULT 默认值;

#删除索引

19、ALTER TABLE < 表名 > ALTER < 字段名 > DROP DEFAULT;

20、ALTER TABLE < 表名 > DROP PRIMARY KEY;

21、ALTER TABLE < 表名 > DROP FOREIGN KEY 外键名;

22、ALTER TABLE < 表名 > DROP INDEX 索引名;

23、DROP INDEX index_name ON tabname;

数据层:

1、插入数据

INSERT INTO tabname (column_list) VALUES (value_list);

INSERT INTO tabname (column_list) VALUES (value_list1),(value_list2),….,(value_listn);

INSERT INTO tabname SET 字段名 1 = 值 1, 字段名 2 = 值 2,….., 字段名 n = 值 n;\

2、更新数据

UPDATE tabname SET column_name1=value1,column_name2=value2,…column_namen=valuen WHERE (condition);

3、删除数据

DELETE FROM tabname[WHERE <condition>];

TRUNCATE [TABLE] tabname;

DELETE 与 TRUNCATE 的区别:TRUNCATE 直接删除整个表,再创建一个一模一样的表。

4、数据查询

(1)、SELECT {*|< 字段列表 >}

[

FROM < 表 1 >,< 表 2 >,…,< 表 n >

WHERE < 表达式 >

GROUP BY < 分组字段 >

HAVING <expression>

ORDER BY < 排序字段 >

LIMIT <num>

]

(2)、SELECT [字段 1, 字段 2,…, 字段 n] from [表 | 视图] WHERE [查询条件];

(3)、连接查询

a、内连接查询  SELECT tab1.* tab2.* FROM tab1 INNER JOIN tab2 ON <condition>;

b、左连接查询  SELECT tab1.* tab2.* FROM tab1 LEFT [OUTER] JOIN tab2 ON <condition>;

c、右连接查询  SELECT tab1.* tab2.* FROM tab1 RIGHT [OUTER] JOIN tab2 ON <condition>;

(4)、合并查询结果

      SELECT column,… FROM tab1

      UNION [ALL]

    SELECT column,…FROM tab2;

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2017-03/141234p2.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-22发表,共计9214字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中