多语言展示
当前在线:616今日阅读:19今日分享:20

sql语句的整理

我们在学校sql server时候,势必是要学习sql的语法的,关于sql语法的应用有好多,有关于创建数据库的sql,创建数据表的sql,存储过程,视图等等sql,当然,如果说你清楚了一些简单的一些sql的语法,那么就好办了,这里,小编给你整理了一些关于sql的用法。
工具/原料

sql server

方法/步骤
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;

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;

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删除所有记录,可以找回.

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;

5

条件查询Ø        where语句后面可以加:条件的关键字:= , > , >= , <, <= , <>like中可以使用占位符: _ 和 % :下划线匹配一个字符, %:可以匹配任意多个字符.* like ‘张%’;  like ‘张_’; like‘%明’; like ‘%明%’;in 后跟着一组值.* id in (1,2,3)           and or not

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;

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;

推荐信息