Create, Insert and Alter Actor Table
Link
Create , insert, alter, delete table
创建一个actor表,包含如下列信息
CREATE TABLE IF NOT EXISTS actor ( ACTOR_ID SMALLINT(5) not Null PRIMARY KEY, # set primary key FIRST_NAME VARCHAR(45) NOT NULL, LAST_NAME VARCHAR(45) NOT NULL, LAST_UPDATE DATETIME NOT NULL );
列表
类型
是否为NULL
含义
actor_id
smallint(5)
not null
主键id
first_name
varchar(45)
not null
名字
last_name
varchar(45)
not null
姓氏
last_update
date
not null
日期
批量插入数据
INSERT INTO actor (actor_id, first_name, last_name, last_update) VALUES (1, 'PENELOPE', 'GUINESS', '2006-2-15 12:34:33'), (2, 'NICK', 'WAHLBERG', '2006-2-15 12:34:33');
请你创建一个actor_name表,并且将actor表中的所有first_name以及last_name导入该表. actor_name表结构如下:
列表
类型
是否为NULL
含义
first_name
varchar(45)
not null
名字
last_name
varchar(45)
not null
姓氏
CREATE TABLE IF NOT EXISTS actor_name ( first_name varchar(45) not null, last_name varchar(45) not null ); insert into actor_name (select a.first_name, a.last_name from actor a);
Note:
insert into 如果 table的key已经有了会报错
replace into 把已经有的key的数据进行替换,如果没有重复的key就会和insert into一样
insert ignore into: 对于已经有的key,会直接忽略,不会更新
修改 table: 关键词'add', 'drop'
# Add new Column alter table table_name add new_column_name datetime not null default('0000-00-00 00:00:00'); # example: alter table actor add create_date datetime not null default('0000-00-00 00:00:00'); # Delete Column alter table table_name drop column_name; # example: alter table actor drop create_date;
删除table 记录: delete from table_name where
直接 delete from table_name : 删除所有数据
选择性删除: (delete和 query不能同时用,应该先query,再delete)
delete from table_name where column_name in ( select * from ( #sub-query... ) ); # example: # 删除emp_no重复的记录,只保留最小的id对应的记录。 delete from titles_test where id not in ( select * from( select min(id) from titles_test group by emp_no ) a );
Note
SQL 对table的大小写敏感,但对table里面的column name大小写不敏感
Insert 数据时,如果是直接用row 数据输入要加 table的column list以及 values (row1), (row2) ...; 但如果是从已有的table里面导入数据, 直接insert into table_name (select * from table ..);
关于 insert into 和replace into区别
insert into 如果 table的key已经有了会报错
replace into 把已经有的key的数据进行替换,如果没有重复的key就会和insert into一样
insert ignore into: 对于已经有的key,会直接忽略,不会更新
Last updated
Was this helpful?