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.
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); |