sql server操作mysql_sql server 数据库操作命令

SQL,指结构化查询语言,全称是 Structured Query Language;SQL 对大小写不敏感,SELECT 与 select 是相同的。分号是在数据库系统中分隔每条 SQL 语句的标准方法,

SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号),

如果是数值字段,则不需要使用引号 。

一,表和数据库的创建和删除。

1.创建关键字:create;数据库和表的创建可以用DBMS手动创建,也可以SQL脚本创建,手动创建的表和数据库可以用DBMS输出为SQL脚本 ,创建完成后需要刷新数据库;

创建数据库:create database dbname;

创建表:create table table_name(column_name1  data_type(size), column_name2  data_type(size),column_name3  data_type(size)...);

column_name 参数规定表中列的名称,data_type 参数规定列的数据类型(例如 varchar、integer、decimal、date 等等),size 参数规定表中列的最大长度。

2.通过使用 DROP 语句,可以轻松地删除索引、表和数据库。drop语句会删除表中所有的记录和表结构,并释放存储空间,没有备份表之前要慎用。

删除数据库:drop database dbname;

删除表:drop table table_name;  可以直接用 drop table_name;

删除索引: drop index table_name.index_name;

3.use database_name; 命令用于选择数据库,在执行query查询语句时要选择所使用的数据库;

4.SQL 约束用于规定表中的数据规则。如果存在违反约束的数据行为,行为会被约束终止。约束可以在创建表时规定(通过 CREATE TABLE 语句),或者在表创建之后规定(通过 ALTER TABLE 语句)。在 SQL 中,我们有如下约束:

NOT NULL ,在默认的情况下,表的列接受 NULL 值,NOT NULL 约束强制列不接受 NULL 值。如果不向字段添加值,就无法插入新记录或者更新记录。

UNIQUE - 保证某列的每行必须有唯一的值,UNIQUE 约束唯一标识数据库表中的每条记录,UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。

PRIMARY KEY - 每个表都应该有一个主键,并且每个表只能有一个主键,主键必须包含唯一的值,主键列不能包含 NULL 值。PRIMARY KEY 约束拥有自动定义的 UNIQUE 约束。

FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。外键解释

CHECK - 保证列中的值符合指定的条件。如果对单个列定义 CHECK 约束,那么该列只允许特定的值。如果对一个表定义 CHECK 约束,那么此约束会基于行中其他列的值在特定的列中对值进行限制。

DEFAULT - 规定没有给列赋值时的默认值,如果没有规定其他的值,那么会将默认值添加到所有的新记录。

利用约束创建表的示例:

create table person (p_id int not null primary key, lastname varchar(255) not null, firstname varchar(255),address varchar(255),city varchar(255) default 'Sandnes',check(P_id>0));

3.ALTER TABLE 语句用于在已有的表中添加、删除或修改列,对表的结构进行修改。

增加列,ALTER TABLE table_name ADD  column_name  datatype;

删除列,ALTER TABLE table_name  DROP COLUMN  column_name;

改变表中列的数据类型,ALTER TABLE  table_name  ALTER COLUMN  column_name  datatype;sql通用数据类型

二,query查询语句,实现数据的增删改查。

1.INSERT INTO 语句用于向表中插入新记录,可以有两种编写形式。

整条记录的插入,包含所有的列,无需指定列名 。

insert into table_name  values(value1,value2,value3,...);

在记录中只指定某些列进行插入,未选定的列值为默认值,需要指定列名及被插入的值。

insert into table_name (column1,column2,column3,...)  values(value1,value2,value3,...);

2.DELETE 语句用于删除表中的记录,但表的结构还存在,不会释放存储空间,需要的时候,数据可以回滚恢复。

删除所有的行,deletefrom table_name;或 delete * from table_name;

删除指定行,delete from table_name where some_column=some_value;(约束条件)

3.UPDATE 语句用于更新表中已存在的记录。

更新指定行的数据,update table_name set column1=value1,column2=value2,column3=value3,...wheresome_column=some_value;(约束条件)

4.SELECT 语句用于从数据库中选取数据。结果被存储在一个结果表中,称为结果集。

4.1 基本数据选取操作

4.1.1 选取所有的行和所有的列,select * from table_name;

4.1.2选取指定行所有的列,select * from table_name where some_column=some_value;(约束条件)

4.1.3 选取所有行的部分的列的值,select column_name1,column_name2,...from table_name ;

4.1.4选取指定行的部分的列的值,select column_name1,column_name2,...from table_name where some_column=some_value;(约束条件)

4.3 对选取的数据进行处理

4.2.1  select distinct 语句用于返回唯一不同的值。在表中一个列可能会包含多个重复值,可以用distinct语句仅仅列出所有不同的值。distinct必须放在select语句开头,distinct语句中select显示的字段只能是distinct指定的字段,其他字段是不能出现的,但可以通过其他方法实现。

作用于单列,选取某一列中不同的值,select distinct column_name from table_name;

作用与多列,根据多列进行去重,即去掉多列都相同的重复的行,select distinct column_name,column_name... from table_name;

统计某一列去重后的数目,select count(distinct colunm_name) from table_name;

4.2.2 通过使用 as,可以为表名称或列名称指定别名,创建别名是为了让列名称或表名称的可读性更强。

给列指定别名,select column_name as alias_name,column_name as alias_name,...form table_name;

给表指定别名,select column_name ,column_name,...form table_name  as alias_name;

示例:SELECT name AS n, country AS c   FROM Websites;

4.2.3 order by关键字用于对结果集按照一个列或者多个列进行排序,默认按照升序对记录进行排序。也可以用asc(升序)或desc(降序)关键字来指定排序,order多列的时候,先按照第一个column name排序,在按照第二个column name排序。

语法格式,select column_name,column_name,...form  table_name order by column_name,column_name asc | desc;

order by A,B  (都是默认按升序排列);

order by A desc,B   (A 降序,B 升序排列);

order by A ,B desc  (A 升序,B 降序排列);即 desc 或者 asc 只对它紧跟着的第一个列名有效,其他不受影响,仍然是默认的升序。

4.2.4  select top 子句用于要返回前面指定数目的行记录,并非所有的数据库系统都支持 SELECT TOP 语句。 MySQL 支持 LIMIT 语句来选取指定的条数数据, Oracle 可以使用 ROWNUM 来选取。

一般格式: select top number | percent  column_name,column_name,...from table_name;

选取前3条记录, select top 3 * from table_name;

选取后3条记录, select top 3 * from table_name order by  column_name desc;

选取前面一般记录,select 50 percent  *  from  table_name;

4.2.5WHERE 子句用于提取那些满足指定条件的记录。Where +条件(筛选行),可以在 WHERE 子句中使用比较运算符,逻辑运算符,和其他的判断条件。

比较运算符:=(等于),<>(不等于,在 SQL 的一些版本中,该操作符可被写成 !=),>(大于),=(大于或等于),<=(小于或等于)

逻辑运算符:and (与, 同时满足两个条件的值),or(或,满足其中一个条件的值),not(:非 满足不包含该条件的值);

特殊条件:is null(空值判断),between 左域 and 右域(在某个范围内),like(模糊查询,搜索某种模式),in(针对某个列的多个可能值);

where语句的一般格式:select column_name,column_name,...from  table_name where column_name operator value;

比较运算符示例: select column_name,column_name,...from  table_name where some_column>=some_value;

逻辑运算符示例: select column_name,column_name,...from  table_name where some_column>some_value and  some_column>some_value;(可以对同一个属性或多个属性进行约束)

select column_name,column_name,...from  table_name where  not  some_column>some_value ;(选取满足不包含该条件的行的指定列)

空值判断示例:select column_name,column_name,...from  table_name where some_column is null;(选取条件列为空的指定列)

between and 用法示例:select column_name,column_name,...from  table_name where some_column between value1 and value2;(指定范围内)

in 用法示例:select column_name,column_name,...from  table_name where some_column in(value1,value2,value3...)(指定多个值内)

Like模糊查询示例:select column_name,column_name,...from  table_name where some_column like '%M';(按通配符进行搜索)

通配符格式:% 替代一个或多个字符,_ 下划线仅替代一个字符,通配符与 SQL LIKE 操作符一起使用;

通配符示例:'%a' (以a结尾的数据),'a%'  (以a开头的数据),'%a%' (含有a的数据),‘_a_’ (三位且中间字母是a的),

'_a' ( 两位且结尾字母是a的),'a_' ( 两位且开头字母是a的)。

4.4 多表查询和视图

4.5SQL函数

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值