SQL常用语句

SQL常用语句

一、数据库:

show databases;                                        #显示所有数据库

create databses mybase;                         #创建数据库

drop database mybase;                           #删除数据库

use mybase;                                              #使用数据库

show tables;                                              #显示此数据库中所有的表

二、表

create table mytable(                               #创建一个名为mytable的表

id int primary keyauto_increment,        #id 整形 主键 自动增长

name varchar(10) unique notnull,   #name 字符型[10] 唯一 不为空

age int                                                  #age 整形

);

drop table mytable;           #删除整张表。数据和表都被删除

#插入数据,按照字段顺序进行插入数据

insert into mytable values(’张三’,18),(’李四’,19);

#插入数据,按照指定字段进行插入

insert into mytable(name,age) values (‘王五’,20),(‘赵六’,21);

#删除id为1的整行数据

delete from mytable whereid=1;

#删除表中的所有数据,表仍然存在

delete from mytable;  

 

#修改id为2的name为’李四’ ,age为18

update mytable set name=’李四’ ,age=18 where id=2;

#查找mytable表中的所有数据

select * from mytable;

#查找mytable表中id为2的数据

select id,name from mytablewhere id=2;

#查找mytable表中id不等于2的数据

select * from mytable whereid!=2;

#查找mytable表中id大于2的数据

select * from mytable whereid>2;

#查找mytable表中id不等于2的数据

select * from mytable whereid<>2;

#查找mytable表中id求余为0的数据

select * from mytable whereid%2=0;

#查找mytable表中name 为’李’开头的数据

select * from mytable wherename like ‘李%’;

#查找mytable表中name为’王’开头且两个字的数据

select * from mytable wherename like ‘王_’;

#查找mytable表中name中含有’刘’的数据

select * from mytable wherename like ‘%刘%’;

#查找mytable表中id从2到4的数据

select * from mytable whereid between 2 and 4;

#查找mytable表中id为在(2,3,4,8)这个集合中的数据

select * from mytable whereid in (2,3,4,8);

#查找mytable表中所有的数据并按照学号进行排序

select * from mytable order byid;

#查找mytable表中所有的数据并按照年龄进行倒叙排序

select * from mytable orderby age desc;

#查找mytable表中所有的数据的条数

select count(*) frommytable;

#查找mytable表中所有的数据的条数

select count(1) frommytable;

#查找mytable表中所有的age的和

select sum(age) frommytable;

#查找mytable表中所有的age的平均数

select avg(age) frommytable;

#查找mytable表中所有的age的最大值

select max(age) frommytable;

#查找mytable表中所有的age的最小值,并把列名改为’最小值’

select min(age) as ‘最小值’ from mytable;

#查找mytable表中按照sno分组后每组的sno和score的和,并且每组的score的和大于200

select sno,sum(score) as '总成绩' from sc group by snohaving sum(score)> 200;

表属性

#修改表名为student

alter table mytable renamestudent;

#修改添加字段score 类型为int 且不能为空

alter table student addscore int not null;

#修改表字段score 为address 类型为varchar 长度为50

alter table student changescore address varchar(50);

#修改字段age在score字段后面

alter table student modifyage int after score;

#删除address字段

alter table student dropaddress;

表关系

#等值连接

select s.id,s.name,t.namefrom student s,teach t where s.tid=t.id;

#交叉连接

select t.name,s.username,s.age,s.sexfrom teacher t cross join stu s on s.id = t.id;

#交叉连接

selectt.name,s.username,s.age,s.sex from teacher t inner join stu s on s.id = t.id

#以上三种连接获取的都为表的交集

#左连接,将左边的数据与右边进行匹配

selectt.name,s.username,s.age,s.sex from teacher t left join stu s on s.id = t.id;

#右连接

select t.name,s.username,s.age,s.sexfrom stu s right join teacher t on s.id = t.id;

#设置外键,删除主键的数据时,若外键中存在相关的数据,则删除失败。只能当外键中相关的数据删除后,才能删除主键中的数据。

alter table student addconstraint foreign key(tid) references teacher(id);

#设置外键,并设置级联删除,当主键的数据删除时,外键相关的数据也被删除。

alter table student addconstraint foreign key(tid) references teacher(id) on delete cascade;

SQL常用语句



#获取系统年

select year(sysdate());

#年月日

select date(sysdate());

#年月日 时分秒

select timestamp(sysdate());

#创建视图

create view stu_view asselect id,name from student;