天天看點

牛客網SQL篇刷題篇(32-37)1.sql group_contact()、concat()、concat_ws函數

https://www.nowcoder.com/ta/sql

1.sql group_contact()、concat()、concat_ws函數

https://blog.csdn.net/qq_36250202/article/details/99308824

eg:将employees表的所有員工的last_name和first_name拼接起來作為Name,中間以一個空格區分

SELECT

CONCAT(last_name, ' ', first_name)

from employees

2.

牛客網SQL篇刷題篇(32-37)1.sql group_contact()、concat()、concat_ws函數

3.mysql中的drop table if exists

一般drop table if exists是資料庫裡面的,後面接表名如:drop table if exists xxx_book意思就是:如果資料庫中存在xxx_book表,就把它從資料庫中drop掉。

  備份sql中一般都有這樣的語句,如果是資料庫中有這個表,先drop掉,然後create表,然後再進行資料插入。

4.對于表actor插入如下資料,如果資料已經存在,請忽略

mysql中常用的三種插入資料的語句:

insert into表示插入資料,資料庫會檢查主鍵,如果出現重複會報錯;

replace into表示插入替換資料,需求表中有PrimaryKey,或者unique索引,如果資料庫已經存在資料,則用新資料替換,如果沒有資料效果則和insert into一樣; insert ignore表示,如果中已經存在相同的記錄,則忽略目前新資料;

insert ignore into actor

values("3","ED","CHASE","2006-02-15 12:34:33");

5.

牛客網SQL篇刷題篇(32-37)1.sql group_contact()、concat()、concat_ws函數
牛客網SQL篇刷題篇(32-37)1.sql group_contact()、concat()、concat_ws函數

6.MySQL中四種方式給字段添加索引

  1. 添加主鍵

1

2

ALTER TABLE tbl_name ADD PRIMARY KEY (col_list);

// 該語句添加一個主鍵,這意味着索引值必須是唯一的,且不能為NULL。

  1. 添加唯一索引

1

2

ALTER TABLE tbl_name ADD UNIQUE index_name (col_list);

// 這條語句建立索引的值必須是唯一的。

  1. 添加普通索引

1

2

ALTER TABLE tbl_name ADD INDEX index_name (col_list);

// 添加普通索引,索引值可出現多次。

  1. 添加全文索引

1

2

ALTER TABLE tbl_name ADD FULLTEXT index_name (col_list);

// 該語句指定了索引為 FULLTEXT ,用于全文索引。

PS: 删除索引的文法:

1

2

3

4

DROP INDEX index_name ON tbl_name;

// 或者

ALTER TABLE tbl_name DROP INDEX index_name;

ALTER TABLE tbl_name DROP PRIMARY KEY;

sqlite建立單列索引文法為:

1

2

CREATE INDEX index_name

ON table_name (column_name);

建立唯一索引文法為:

1

2

CREATE UNIQUE INDEX index_name

on table_name (column_name);

eg:題目

牛客網SQL篇刷題篇(32-37)1.sql group_contact()、concat()、concat_ws函數

 結合文法格式可得答案如下:

1

2

CREATE UNIQUE INDEX uniq_idx_firstname on actor (first_name);

CREATE INDEX idx_lastname ON actor (last_name);