数据分析学习笔记数据库Java进阶之路

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

2019-03-24  本文已影响1人  今天有觉悟1

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参数可以指定放在哪一列后边

上一篇下一篇

猜你喜欢

热点阅读