SQL查询练习(2)

    技术2022-07-11  101

    本篇主要介绍一下关于删除操作和like有关的练习。

    create table test1( id int primary key, name varchar(20), sex varchar(20) ); insert into test1 values(1,'刘啦啦','女'); insert into test1 values(2,'亨利','男'); insert into test1 values(3,'小红','女'); insert into test1 values(4,'刘哲','男'); create table test2( city varchar(20) primary key, province varchar(20), country varchar(20) ); insert into test2 values('青岛','山东','中国'); insert into test2 values('武汉','湖北','中国'); insert into test2 values('洛杉矶','加利福尼亚','美国'); insert into test2 values('纽约市','纽约','美国'); insert into test2 values('东京','东京都','日本'); create table test3( id int, city varchar(20) primary key, pro varchar(20), foreign key(id) references test1(id), foreign key(city) references test2(city) ); insert into test3 values(1,'青岛','数据分析师'); insert into test3 values(2,'纽约市','CEO'); insert into test3 values(3,'武汉','程序员'); insert into test3 values(4,'洛杉矶','投行'); create table test4 ( id int, name varchar(20) ); insert into test4 values(1,'洛杉矶'); insert into test4 values(2,'武汉');

    关于删除操作:

    与删除有关的命令主要有drop、delete和truncate。

    删除数据表:drop table tablename;

    删除表内数据:delete from tablename where condition;

    清除表内数据,保存表结构:truncate table tablename;

    drop和truncate都会释放磁盘,带条件的delete不会释放磁盘空间,但是delete操作以后,使用optimize table tablename会立刻释放磁盘空间。truncate table 不能用于参与了索引视图的表,对于外键约束引用的表,不能使用truncate table,而应该使用不带where子句的delete语句。

    ---删除操作 delete from test2 where city='东京'; select* from test2; truncate table test4; select *from test4; drop table test4; select *from test4; truncate table test1;

    关于通配符:

    在sql中,like一般和通配符搭配使用,常用的通配符主要有:

    %:任意多个字符,包含0个字符

    _:任意单个字符

    [charlist]:字符列中任何单一字符

    [^charlist] [!charlist]:不在字符列中的任何单一字符

    like 'Mc%':以Mc为开头的所有字符串,如McBadden

    like '%inger':以inger结尾的所有字符串,如Ringer、stringer

    like '%en%':任何位置包含en的所有字符串

    like '_heryl':以heryl结尾的六个字母名称,如Cheryl、sheryl

    like '[CK]ars[eo]n':搜索Carsen、Karsen、Carson、Karson

    like '[M-Z]inger':第一个字母为M-Z中的任意字母,后面是inger的字符串

    like 'M[^C]%':以M开头,第二个字母不是C的字符串

    ---------通配符练习 insert into test1 values(5,'trfgt','男'); insert into test1 values(6,'trcgt','男'); insert into test1 values(7,'llsgt','男'); insert into test1 values(8,'trccde','男'); insert into test1 values(9,'trfcc','男'); select name from test1 where name like '
    转载请注明原文地址:https://ipadbbs.8miu.com/read-14538.html
    最新回复(0)