sql语句的整理

2026-03-23 03:30:43

1、数据库的增删改查

创建数据库

create database 数据库名称 [character set 字符集 collate 字符集校对];

create database demo  character set utf8 collate  utf8_bin;

查看数据库

查看所有数据库: show databases;

查看某个数据库的定义信息:show create database 数据库名.

查看当前正在使用的数据库信息:select database();

删除数据库

Drop database basename;

修改数据库

Alter database basename character set 新字符集 collate 校对规则;

切换数据库

User databasename;

sql语句的整理

2、表的常见及增删查改

创建表

Ø        语法:

 create table 表名 (

    字段名 类型(长度) 约束,

    字段名 类型(长度) 约束,

    字段名 类型(长度) 约束

);

查看表

Show tables;

查看表结构:

Show tables;

表的删除

Drop table tablename;

修改表添加列

Alter table tname add newcolumn 类型()约束;

e.g alter table tname add image varchar(20) unique;

删除列

Alter table name drop 列名;

修改表的列名

Alter table student modiy name varchar(20) not null;

变更表的列名

Alter table 表名 change 旧列名 新列名 类型(长度)约束;

Alter table employee change image eimage varchar(60);

修改表名

Rename  table employee to user;

Rename table 旧表名 to 新表名;

修改表的字符集

Alter table 表名 character set 字符集;

添加外键

Foreign key(key_id)references user_info(user_id) on delete cascade on update cascade;

sql语句的整理

sql语句的整理

3、表记录的增删改

添加

Inser into 表名(列名1,列名2,列名3)values(值1,值2,值3);

Inset into 表名 values(全部字段,没有null);

修改记录

Update 表 set 列名=值,列名=值 where 条件;

如果没有条件,所有行的两个字段都会更改;

删除

Delete from taname where 条件;

不加条件则删除所有的列;

* 区别:

    * truncate table删除表的记录:将整个表删除掉,重新创建一个新的表.truncate属于DDL.

    * delete from删除表的记录:一条一条进行删除. delete属于DML。

        * 事务管理只能作用在DML语句上.如果再一个事务中使用delete删除所有记录,可以找回.

sql语句的整理

4、基本查询

查询语句:

                      select [distinct] *|列名 from 表 [where 条件];

Ø        Ø        查询所有记录:

* select * from exam;

Ø        查询这个班级人的姓名和英语成绩:

* select name,english from exam;

Ø        查询英语成绩,将重复英语成绩去掉:

* select distinct english from exam;

Ø        查询李四的学生成绩:

select * from exam where name='李四';

Ø        查询名称叫李四并且英语成绩大于90的

select * from exam where name='李四' and english >90;

Ø        将成绩+10分进行显示:

select name ,english+10,chinese+10 ,math+10 from exam;

Ø        显示这个人的名称和对应总成绩的分数:

select name,english+chinese+math from exam;

Ø        使用as起别名,as可以省略.

select name , english+chinese+math as sum from exam;

sql语句的整理

5、条件查询

Ø        where语句后面可以加:

条件的关键字:

= , > , >= , <, <= , <>

like中可以使用占位符: _ 和 % :下划线匹配一个字符, %:可以匹配任意多个字符.

* like ‘张%’;  like ‘张_’; like‘%明’; like ‘%明%’;

in 后跟着一组值.

* id in (1,2,3)

           and or not

sql语句的整理

6、排序查询

Ø        order by对数据进行排序.默认升序. (asc升序,desc降序)

* 查询所有学生的信息,并且按语文成绩进行排序.

    * select * from exam orderby chinese;

* 查询所有学生的信息,并且按语文成绩进行降序排序.

    * select * from exam orderby chinese desc;

* 查询学生的信息,按照英语成绩降序排序,如果英语成绩相同,按照语文降序.

    * select * from exam orderby english desc, chinese desc;

* 查询姓李的学生的信息,同时按照英语升序排序.

    * select * from exam wherename like '李%' order by english asc;

sql语句的整理

7、聚合函数

Ø        sum()

Ø        count()

Ø        max()

Ø        min()

Ø        avg()

* 查询每个学生总成绩:

    * selectname,(english+chinese+math) from exam;

* 统计所有学生的总分:

    * selectsum(english+chinese+math) from exam;   --ifnull(english,0)

    * selectsum(english)+sum(chinese)+sum(math) from exam;

* 统计学生的个数:

    * select count(*) fromexam;

* 统计英语成绩的最高分:

    * select max(english) fromexam;

* 统计语文成绩的最低分:

    * select min(chinese) fromexam;

* 统计英语成绩平均分:

    * select avg(english) fromexam;

sql语句的整理

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢