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.
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL0kkaORzaU9EeRpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL4cDN2EDNzYTMwEDOwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
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.
6.MySQL中四種方式給字段添加索引
- 添加主鍵
1 2 | ALTER TABLE tbl_name ADD PRIMARY KEY (col_list); // 該語句添加一個主鍵,這意味着索引值必須是唯一的,且不能為NULL。 |
- 添加唯一索引
1 2 | ALTER TABLE tbl_name ADD UNIQUE index_name (col_list); // 這條語句建立索引的值必須是唯一的。 |
- 添加普通索引
1 2 | ALTER TABLE tbl_name ADD INDEX index_name (col_list); // 添加普通索引,索引值可出現多次。 |
- 添加全文索引
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:題目
結合文法格式可得答案如下:
1 2 | CREATE UNIQUE INDEX uniq_idx_firstname on actor (first_name); CREATE INDEX idx_lastname ON actor (last_name); |