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?
