zoukankan      html  css  js  c++  java
  • sql使用入门:

    drop  database dbname;
    例如: drop  database  test1;
    

      

    sql是Structure Query Languages(结构化查询语言)的缩写,它是使用关系模型的数据库应用语言。sql语句主要可以划分为一下三个类型:

    一、 DDL(Data Define languages),语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象的定义。常用的语句关键字主要包括create、drop、alter等。

         1.创建数据库: 

    create  DATABASE dbname ;
    例如:create database test1;
    

      2.删除数据库:

    drop database dbname;
    例如: drop database test1;

      3.创建表:

      因为Mysql的表名是以目录的形式存在于磁盘中,所以表名的字符可以用任何目录名允许的字符column_name是列的名字;column_type是列的数据类型;contraints是这个列的约束条件。

    CREATE TABLE tablename (column_name_1 column_type_1 constraints,column_name_2 column_type_2 constraints,.......column_name_n column_type_n constraints);
    例如:create table emp(ename varchar(10),hiredate date,saldecimal(10,2),depintno int(2));

      4.删除表:

    DROP TABLE  tablename;
    例如: drop table emp;

      5.修改表:

       在大多数的情况下,表结构的更改一般都使用alter table语句。

        (1).修改表类型:

    ALTER  TABLE tablename MODIFY [COLUMN] column_definition [FIRST|AFTER col_name];
    例如: 更改表emp中的ename列的属性为varchar(20)
         alter table emp modify ename varchar(20);

        (2).增加表字段:

    ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST|AFTER col_name];
    例如:在表emp中添加一个属性age int(3);
          alter table emp add column age int(3);

        (3).删除表字段:

    ALTER TABLE tablename DROP [COLUMN] col_name;
    例如:在emp中删除列age;
         alter table emp drop column age; 

        (4).字段改名:

    ALTER TABLE tablename CHANGE [COLUMN]  old_col_name column_definition [FIRST|AFTER col_name];
    例如:将age改名为age1,同时修改字段类型为int(4);
         alter table emp chnge age age1 int(4);

        (5).改变字段排列顺序:

          前面介绍的字段增加和修改语法(ADD/CHANGE/MODIFY)中,都有一个可选项[FIRST|AFTER column_name],这个选项可以修改字段在表中的位置,默认ADD增加的新字段是加在表的最后位置,而CHANGE/MODIFY默认都不会改变字段的位置

    例如:
    1).将新增的字段birth date 加载ename后:(date为数据类型)
          alter table emp add birth date after ename;
      2).修改字段age,将它放在最前面:
          alter table emp modify age int(3) first;

         (6).更改表名:

    ALTER   TABLE   tablename    RENAME [TO]  new_tablename;
    例如:将表emp改名字为emp1
         alter table emp rename emp1;

    二、DML(Data Manipulation Languages)语句:数据库操纵语言,用于添加、删除、更新和查询数据库记录,并检查数据完整性。常用的语句关键字主要包括insert、delete、update和select等。

      DML是对数据库中表记录的操作,主要包括表记录的插入(insert)、更新(update)、删除(delete)和查询(select)。

      1.插入记录:

    INSERT INTO  tablename(field1,field2,......,fieldn)  VALUES(value1,value2,.....,valuen);
    例如: 向表emp中插入以下记录:ename为zzx1,hiredate为2000-01-01,sal为2000,deptno为1;
          insert into emp (ename, hiredate,sal,deptno) values('zzx1','2000-01-01','2000',1);

      2.更新记录:

    UPDATE tablename SET field1=value1,field2=value2,......fieldn=valuen [WHERE CONDITION];
    例如:将表emp中的ename为“lisa”的薪水(sal)从3000更改为4000;
         update emp set sal=4000 where ename='lisa';

    UPDATE命令可以同时更新多个表中数据,语法如下:
    UPDATE t1,t2,...tn SET t1.field1=expr1,tn.fieldn=exprn [WHERE CONDITION];

      3.删除记录:

    DELETE  FROM tablename [WHERE CONDITION];
    例如: 在emp中将ename为’dony‘的记录全部删除;
         delete from emp where ename=‘dony‘;

    DELETE命令可以一次删除多个表中的数据,语法如下:
    DELETE t1,t2,....,tn FROM t1,t2,....,tn [WHERE CONDITION];

      4.查询记录:

      这里仅简单的介绍一下select语法。

    SELECT * FROM tablename [WHERE CONDITION];
    

        1). 查询不重复的记录

    利用关键字distinct实现:
    SELECT  distinct filed1,....,fieldn FROM  tablename;
    

        2).排序和限制

     对于数据库的排序操作,利用关键字ORDER BY 来实现,语法如下:
    SELECT * FROM  tablename [WHERE CONDITION] [ORDER BY field1 [DESC|ASC],....,fieldn[DECS|ASC] ];

        其中DESC和ASC是排序顺序关键字,DESC表示按照某个字段进行降序排列,ASC则表示升序排序,如果不写此关键字默认是升序排列。同事ORDER BY后面可以跟不同的排序字段,同事不同的排序字段可以有不同的排序顺序。

        可以利用LIMIT关键字来对记录进行部分显示。

    SELECT ......[LIMIT offset_start,row_count];
    例如: 如果显示emp表中按照sal排序后从第二条记录开始,显示3条记录:
    select * from emp order by sal limit 1,3;

        3).聚合

    聚合函数:
    SELECT [field1,field2,....,fun_name FROM tablename [WHERE where_condition] [GROUP BY field1,field2,....,fieldn [WITH ROLLUP]] [HAVING where_condition];

        对其参数进行如下说明:

          1. fun_name表示要做的聚合操作,也就是聚合函数,常用的有sum(求和)、count(*)(记录数)、max(最大值)、min(最小值)。

          2. GROUP BY 关键字表示要进行分类聚合的字段,比如要按照部门分类统计员工数量,部门就应该卸载group by后面。

          3. WITH ROLLUP 是可选语句,表明是否对分类聚合后的结构再汇总。

          4. HAVING 关键字表示对分类后的结果在进行条件的过滤。

        4).子查询

         当进行查询时,需要的条件是另一个select语句的结果时,这个时候就要用到子查询。用于子查询的关键字主要包括in、not in 、= 、exists 、 not exists等

        5).记录联合。将两个表的数据按照一定的查询条件查询出来,将结果合并到一起显示出来

    SELECT * FROM t1 UNION|UNION ALL SELECT * FROM t2 .... UNION|UNION ALL SELECT * FROM tn;
    

      

  • 相关阅读:
    服务器电源管理(Power Management States)
    MSSQLSERVER数据库- 杂记
    MSSQLSERVER数据库- 判断全局临时表是否存在
    MSSQLSERVER数据库- 获取月份的第一天和最后一天
    JQuery- 解析JSON数据
    恼人的Visual Studio 2010崩溃重启问题
    MSSQLSERVER数据库- 游标
    Js/Jquery- Base64和UrlEncode编码解码
    MSSQLSERVER数据库- 解决不允许保存更改表结构
    Java- Jdbc学习
  • 原文地址:https://www.cnblogs.com/canxuexiecheng/p/3198557.html
Copyright © 2011-2022 走看看