练习SQL利器,牛客网SQL实战题库,33~40题

33.创建一个actor表,包含如下信息

CREATE TABLE actor(
actor_id smallint(5) NOT NULL PRIMARY KEY,
first_name varchar(45) NOT NULL,
last_name varchar(45) NOT NULL,
last_update timestamp NOT NULL DEFAULT (datetime('now','localtime')))

34.批量插入数据

INSERT INTO actor VALUES(1,'PENELOPE','GUINESS','2006-02-15 12:34:33'),
(2, 'NICK', 'WAHLBERG', '2006-02-15 12:34:33')

35.批量插入数据,不使用replace操作

INSERT OR IGNORE INTO actor
VALUES(3,'ED','CHASE','2006-02-15 12:34:33');

36.创建一个actor_name表

CREATE TABLE actor_name
(
first_name varchar(45) NOT NULL,
last_name varchar(45) NOT NULL
);
INSERT INTO actor_name (first_name,last_name)
SELECT first_name, last_name FROM actor;

37.对first_name创建唯一索引uniq_idx_firstname,对last_name创建普通索引idx_lastname

CREATE UNIQUE INDEX uniq_idx_firstname ON actor(first_name);
CREATE INDEX idx_lastname ON actor(last_name);

注:

①加UNIQUE是创建唯一索引。

②索引好像得一条一条的加,也可能是牛客网这个编辑器的问题。

38.针对actor表创建视图actor_name_view**

CREATE VIEW actor_name_view
AS
SELECT first_name AS first_name_v,last_name AS last_name_v
FROM actor

39.针对salaries表emp_no字段创建索引idx_emp_no,查询emp_no为10005, 使用强制索引

SELECT * FROM salaries
INDEXED BY idx_emp_no
WHERE emp_no='10005';

注:

①sqlLite 使用 indexed by 进行强制索引 SQLite Indexed By

②mysql 使用 force index 进行强制索引

40.在lastupdate后面增加一列名字为create_date

ALTER TABLE actor
ADD COLUMN create_date datetime NOT NULL DEFAULT '0000-00-00 00:00:00';

注:MySQL中有AFTER参数可以指定放在哪一列后边

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我爱冬天,唯一的理由就是冬阳了。 老舍先生在《济南的冬天》里写道:一个老城,有山有水,全在天底下晒着阳光,暖和安适...
    南南与北北阅读 362评论 0 4
  • 今天我和一个朋友去打乒乓球,一开始我们转了一大晌才找到了一个球台,我和朋友拿出来球拍和乒乓球就开始打了,一开始...
    旗开得胜6555阅读 134评论 0 1
  • 价值观拍卖活动,我在过去参与过6次,其中2次作为参与者,4 次作为主持者去主持这场活动,无论是作为参与者,还是作为...
    刹那流转阅读 8,016评论 8 18