3、技术实例:(数据库)

1、 加载数据库脚本

source    C:\Users\Administrator\Desktop\script-1.sql ;——mySQL

source    (\.) Execute an SQL script file. Takes a file name as an argument.

 

2、 保存为数据库脚本

Tee       C:\Users\Administrator\Desktop\script-1.sql ;

tee       (\T) Set outfile [to_outfile]. Append everything into given outfile.

notee     输入的时候就会把teenotee进行保存为sql脚本。

 

3、 查询当前实例的数据库集合

Show databases ; ——mySQL

mysql> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| drinks             |

| mysql              |

| performance_schema |

| test               |

+--------------------+

 

4、使用某个数据库

mysql> use drinks;

Database changed

 

5、查询当前数据库的表集

mysql> show tables;

+------------------+

| Tables_in_drinks |

+------------------+

| easy_drinks      |

| my_contacts      |

+------------------+

 

6、查询表的结构

mysql> desc my_contacts;

+------------+--------------+------+-----+---------+-------+

| Field      | Type         | Null | Key | Default | Extra |

+------------+--------------+------+-----+---------+-------+

 

7、判断存在

方法1:精确方法

SysobjectsMaster系统视图

object_id是抓取对象在视图中的ID

OBJECTPROPERTY是根据对象判断类型函数,返回的是bool

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tb]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)

drop table [dbo].[tb];

方法2:模糊方法

declare   @a  varchar(2000) ——MSSQL 删除约束

set @a=(select name from sysobjects  where name like 'Name')

set @a= 'ALTER TABLE [dbo].[TableName]  DROP   CONSTRAINT  '+@a

exec (@a)

 

8、数据库的新建、删、改

<1>新建数据库

mysql> create database myDB; ——mySQL

Query OK, 1 row affected (0.00 sec)

create database mmc; ——MSSQL

 

<2>数据库修改

exec sp_rename   'a1.name ', 'Name ', 'database' ——MSSQL

 

<3>删除数据库

mysql> drop database drinks;——mySQL

Query OK, 2 rows affected (0.34 sec)

drop database mySQL;——MSSQL

 

9、数据表的新建、删、改 

<1>新建数据表

mysql> show create table servers;——mySQL显示表的创建方式

| servers | CREATE TABLE `servers` (

      `Server_name` char(64) NOT NULL DEFAULT '',

        `Host` char(64) NOT NULL DEFAULT '',

        `Db` char(64) NOT NULL DEFAULT '',

  `Username` char(64) NOT NULL DEFAULT '',

  `Password` char(64) NOT NULL DEFAULT '',

  `Port` int(4) NOT NULL DEFAULT '0',

  `Socket` char(64) NOT NULL DEFAULT '',

  `Wrapper` char(64) NOT NULL DEFAULT '',

  `Owner` char(64) NOT NULL DEFAULT '',

  PRIMARY KEY (`Server_name`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='MySQL Foreign Servers table' |

 

mysql> create table my_contacts( ——mySQL

-> ID  int not null Auto_increment,

    -> last_name varchar(20) not null,

    -> first_name varchar(20) not null,

    -> email varchar(50) not null,

    -> birthday date,

    -> profession varchar(50),

    -> location varchar(50),

    -> status varchar(20),

    -> interests varchar(20),

-> seeking varchar(100) 

Parmary key ( ) );

 

Create Table Article ——MSSQL

(

    Id         Int Identity(1,1) Not Null,——自增

    Title      Varchar(50)       Not Null  Constraint uq_ArticleTitle Unique,——1、唯一约束

    Keywords   Varchar(50)       Not Null  Constraint ck_KeywordsLength Check (len(Keywords)<10),——2、检查约束

    Abstract   Varchar(500)      Not Null, ——3、非空约束

    Author     Varchar(50)       Not Null,

    [Type]     TinyInt           Not Null  Default 0 Constraint ck_ArticleType Check([Type] in (0,1,2)), 

    IsOnIndex  Bit               Not Null  Default 1, ——默认值

    Content    Text              Not Null,

    SourceCode Varchar(100)      Null,

    [Source]   Varchar(50)       Not Null  Default 'TraceFact',

    SrcUrl     Varchar(150)      Null, 

    PostDate   DateTime          Not Null  Default GetDate(),

    ViewCount  Int               Not Null  Default 0,

    ClassId    Int               Not Null   ,

Constraint pk_Article Primary Key(Id), —— 4、主键约束

Constraint fk_Article foreign key(scoreId) references student(id)——5、外键约束,为主表student建立外键关系

)

<2>修改数据表

     mysql> alter table 旧表名 rename to 新表名; ——mySQL

     use databasename;

     EXEC   sp_rename   '旧表名', '新表名';——MSSQL

    <3>删除数据表

    mysql> drop table mytables;——mySQL

      drop table a1;——MSSQL

    

10、字段、约束(数据表成员)的增加、删、改

<1>增加字段

mysql> alter table mytable——mySQL 添加字段

-> add column mycolumn2 int first , 其中还有 after column 排在指定的列之后

-> add primary key (mycolumn2); ——mySQL 添加主键

alter table  test1  add  nob  int  identity(1,1) not  null ——MSSQL 添加字段

alter table test1 add primary key (nob); ——MSSQL 添加主键

alter table [dbo].[Article2] add  default ((1)) for [IsOnIndex] ——MSSQL添加默认约束

       alter table [dbo].[Article2]  with check add  constraint [ck_KeywordsLength2] check  ((len([Keywords])<(10))) ——新建check

alter table [dbo].[Article2] check constraint [ck_KeywordsLength2] ——MSSQLck_KeywordsLength2添加check约束集合

alter table [dbo].[Article2]  with check add  constraint [ck_ArticleType2] check (([Type]=(2) OR [Type]=(1) OR [Type]=(0)))

<2>修改字段

       mysql> alter table mytables

     -> change column firstname firstName varchar(30) ,——mySQL 改变名字、类型

-> add  primary key ( lastname );

mysql> alter table mytable——mySQL 不改变名字,改类型

-> modify mycolumn2 varchar(20);

exec sp_rename   'a1.name ', 'Name ', 'column ' ——MSSQL  只改变名字

alter   table   test1   alter   column   ID   varchar(200)   null ——MSSQL  不改变名字,改类型

alter table test1 drop Constraint constraintname; ——MSSQL 删除约束

alter table test1 add primary key (nob); ——MSSQL 添加主键约束

alter table Articles2 add constraint fk_job_id foreign key (Id) references Article3(Id); ——MSSQL添加外键约束

alter table dbo.Article2 add constraint uk_Id unique nonclustered (Id); ——MSSQL添加唯一约束

alter table [dbo].[Article2] add constraint uk_Id default ((1)) for [IsOnIndex] ——MSSQL添加默认约束

       alter table [dbo].[Article2] with check add  constraint [ck_KeywordsLength2] CHECK  ((len([Keywords])<(10))) ——新建check

alter table [dbo].[Article2] chenk constraint [ck_KeywordsLength2] ——MSSQLck_KeywordsLength2添加check约束集合

alter table [dbo].[Article2]  with check add  constraint [ck_ArticleType2] check  (([Type]=(2) OR [Type]=(1) OR [Type]=(0)))

       alter table [dbo].[Article2] with check add  constraint [ck_KeywordsLength2] check  ((len([Keywords])<(10))) ——新建check

alter table [dbo].[Article2] check constraint [ck_KeywordsLength2] ——MSSQLck_KeywordsLength2添加check约束集合

备注:最后一栏column/database/index/object等等,还有约束的修改只能是先删除再新建

还能够建立联合主键,就使用利用两个字段来确定一条数据,一般这样的数据不会进行修改。

 

<3>删除字段

    mysql> alter table mytable ——mySQL

    -> drop column mycolumn2;

    alter table test1 drop column nob; ——MSSQL 删除字段

    alter table test1 drop Constraint constraintname; ——MSSQL 删除约束

 

11、连接词 andor not

       <1>andA and B,即是AB 要同时成立。

<2>orA或者B,只要其中一个成立就成立

       <3>notnot A and B,当A不成立而且B成立;A and not B,当A成立而且B不成立; not (A and B),当AB都不成立

      

12、符号 <>=<==><>null

       1<:小于

2>:大于

       3<=:小于或者等于

4>=:大于或者等于

5<>:不等于;=等于

6is null 或者是 not null

7<’D’: field的第一个字母早于D>’A’:field的第一个字母要晚于A

 

13、匹配关键字LIKE、通配符“%”与占位符 _”与区间关键字“between”与集合关键字“in

①:where field Like %CA%’,filed字段里面包含CA字符的所有结果;

②:where field Like CA%’,field字段前面是CA字符的结果;

③:where field Like %CA’,field字段后面是CA字符的结果;

③:where field Like _CA%’,field字段前面第二第三个是CA的结果;

④:where field between 20 and 30 2030之间 或者 between ‘A’ and ‘Z’ AZ之间。

⑤:where field in (1,2,3) filed(类型相同)是1,2,3中的其中一个  或者   where field in (1,2,3)field在‘1’、‘2’、‘3’中的其中之一,即是filed的类型要与in里面的类型相同。

 

14SQL语句selectinsertdeleteupdate

①:select field from table

②:insert into table (fields) values (values)

③:delete from table where field 条件

④:update table set field = value where field 条件,例子:update table set table.column2= Right(table,2)

⑤:SQL语句是可以结合运算的。Update set const=const=1

 

15SQL字符串处理函数

①:Right (column2) 从右边开始截取2位的字符

②:Substring _index( column,“,”,2) 截取第二个逗号(字符)前的字符串

③:Substring (columnnumberAnumberB) 截取列中,从A位开始读取后面B位的字符串

④:Upper(column) 转换大写、

⑤:Lower (column) 转换小写

⑥:Reverse(column) 反转字符串的顺序

⑦:Ltim( colum ) 左去除空

⑧:Rtrim( column) 右去除空

⑨:Length (column)  获取字符长度,返回一个int,但是在MSSQL len(Keywords)<10

 

作者: 小文道 发表于 2011-08-20 17:30 原文链接

推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架
新浪微博粉丝精灵,刷粉丝、刷评论、刷转发、企业商家微博营销必备工具"