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;

  

原文地址:https://www.cnblogs.com/canxuexiecheng/p/3198557.html