数据库语法大全

数据库语法大全
数据库语法大全

1.sql创建数据库的语法;

【语法】

create database database-name

【举例】

create database my_rsgl (创建:人事管理库)

【说明】

本代码用于创建数据库,可在“企业管理器”中执行,也可以在“查询分析器”中执行,也可以在delphi等开发工具中执行。

以下将要讲到的语法都有多种执行方式,下文不再复述。

2.sql删除数据库的语法;

【语法】

drop database database-name

【举例】

drop database my_rsgl (删除:人事管理库)

【说明】

删除数据库之前,必须确认数据库是否真的要删除,如果数据库中还包含着重要的数据,删除之后就后悔莫及,所以不要随意操作这个命令。

3.sql备份、恢复数据库的语法;

a、怎样备份?

【语法】

backup database database-name to disk=路径

【举例】

backup database my_rsgl to disk= 'f:\back1.bak '

【说明】

备份数据库时,除指定有效的硬盘路径以外,注意还要取一个文件名。

B、怎样恢复?

【语法】

use master restore database database-name from disk=路径 with replace 【举例】

use master restore database my_rsgl from disk='f:\back1.bak ' with replace

【说明】

恢复数据库时,在后面加上:with replace,是表示按“完全恢复”的方式进行恢复。

4.sql创建表的语法;

【语法】

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)

【举例】

create table [人员表]

([工号] [nvarchar] (50) collate chinese_prc_ci_as null,

[姓名] [nvarchar] (50) collate chinese_prc_ci_as null,

[性别] [nvarchar] (2) collate chinese_prc_ci_as null) on [primary]

【说明】

代码中,表名、字段名和数据类型都要写在“[]”里面,如果字段的类型是字符型,都必须在“()”里面指定长度。

5.sql删除表的语法;

【语法】

drop table table-name

【举例】

drop table 人员表(删除:人员表)

【说明】

删除表以及表中的全部数据,注意在sql server里面,删除表是真正的删除,不是伪删除。

6.sql向表中增加一个“列”的语法;

【语法】

alter table table-name add column col type

【举例】

alter table 人员表 add 年龄 nvarchar(10) null

【说明】

增加的字段必须指定数据类型,如果是字符型的,必须指定长度。

附:删除列的语法:

alter table 人员表 drop column 性别

附:修改某列的数据类型的语法:

alter table 工资表 alter column 工号 varchar(100)

7.sql给表中的字段增加“主键”的语法;

a、怎样增加主键?

【语法】

alter table-name add primary key (col)

【举例】

alter table 人员表 add primary key (工号)

【说明】

不能在可以为“空”的字段上增加主键,否则会报错。

B、怎样删除主键?

【语法】

alter table-name drop 主键约束

【举例】

alter table 人员表 drop pk_人员表

8.sql给表中的字段创建“索引”的语法;

【语法】

create [unique] index idxname on tabname(col….)

【举例】

create unique index index_gh on 人员表(工号)

【说明】

跟字段创建索引后,可用于查询语句中,提高检索速度。

9.sql删除表中某个“索引”的语法;

【语法】

drop index idxname

【举例】

drop index 人员表.index_gh

【说明】

注意索引一旦建立后,不能修改,只能先删除了重新建立。

10.sql创建视图的语法;

【语法】

create view viewname as select statement

【举例】

create view v_ryb as select * from 人员表

【说明】

不引用变量的查询语句,都可以用代码创建视图。

11.sql删除视图的语法;

【语法】

drop view viewname

【举例】

drop view v_ryb

12.sql向表中插入数据的语法;

【语法】

insert into table1(field1,field2) values(value1,value2)

【举例】

insert into 人员表(工号,姓名,性别) values ('gh006','黄刚','男')

【说明】

只有给选定字段插入数据时,才需要在表名的后面用“()”来排列字段名。

13.sql修改表中某条数据的语法;

【语法】

update 表名 set field1=value1 where 范围

【举例】

update 人员表 set 姓名= '洪七公' where 工号= 'gh001'

【说明】

写修改语句时,注意一般要指定where条件语句,否则就是对整个表的所有记录作修改,可能产生预期之外的严重后果。

14.sql删除表中某条数据的语法;

【语法】

delete from 表名 where 范围

【举例】

delete from 人员表 where 工号= 'gh002'

【说明】

如果没写where条件语句,那么删除的就是整个表的全部记录。

15.sql查询表中数据的语法;

【语法】

select * from 表名 where 范围

【举例】

查出全部字段:select * from 人员表 where 工号= 'gh001'

只查出指定字段:select 工号,姓名 from 人员表 where 工号= 'gh001'

【说明】

“*”是通配符,表示查出全部字段。

16.sql排序、求总、求和、求平均、取最大、取最小的语法;

a、排序

【语法】

select * from 表名 order by field1,field2 [desc]

【举例】

select * from 人员表 order by gh,xm desc (降序)

select * from 人员表 order by gh,xm asc (升序)

b、求总

【语法】

select count as totalcount from 表名

【举例】

select count(*) as 记录数 from 人员表

c、求和

【语法】

select sum(字段) as sumvalue from 表名

【举例】

select sum(工资) as 工资合计 from 人员表

d、求平均

【语法】

select avg(字段) as avgvalue from 表名

【举例】

select avg(工资) as 平均工资 from 人员表

e、取最大

【语法】

select max(字段) as maxvalue from 表名

【举例】

select max(工资) as 最大工资 from 人员表

f、取最小

【语法】

select min(字段) as minvalue from 表名

【举例】

select min(工资) as 最小工资 from 人员表

17.sql union运算符的用法;

【作用】

union 运算符通过组合其他两个结果表(例如 table1 和 table2)并消去表中任何重复行而组合生出一个结果表。当 all 随 union 一起使用时(即 union all),不消除重复行。两种情况下,组合表的每一行不是来自 table1 就是来自 table2。

【举例】

不消除重复行的写法:

select gh,xm,xb from 人员表1 union all select gh,xm,xb from 人员表2

消除重复行的写法:

select gh,xm,xb from 人员表1 union select gh,xm,xb from 人员表2

【说明】

用来组合的所有表的字段必须一致、或参与组合的表的字段必须一致。

18.sql except运算符的用法;

【作用】

except 运算符通过包括所有在 table1 中但不在 table2 中的行、并消除所有重复行而派生出一个结果表。当 all 随 except 一起使用时 (except all),不消除重复行。

【举例】

select gh,xm,xb from 人员表1 except all select gh,xm,xb from 人员表2

【说明】

本运算符在sql server 2000中不支持,sql server 2005版本及后续版中支持。

19.sql intersect运算符的用法;

【作用】

intersect 运算符通过只包括 table1 和 table2 中都有的行、并消除所有重复行而派生出一个结果表。当 all 随 intersect 一起使用时 (intersect all),不消除重复行。

【举例】

select gh,xm,xb from 人员表1 intersect all select gh,xm,xb from 人员表2

【说明】

本运算符在sql server 2000中不支持,sql server 2005版本及后续版中支持。

20.sql left (outer) join 语法;

【作用】

左外连接(左连接):结果集既包括连接表的匹配行,也包括左连接表的所有行。

【举例】

假设有这样两个表:

表一:

-------------------------

姓名备注

Aa 1111111

Bb 2222222

Cc 3333333

表二:

------------------------

姓名年龄性别

Aa 22 男

Tt 33 女

Cc 44 男

Gg 55 女

对于左外连接:

Select a.*,b.*

From 表一 as a left join 表二 as b On a.姓名=b.姓名

则查询的结果为:

---------------------------------------

姓名备注年龄性别

Aa 1111111 22 男

Bb 2222222 null null

Cc 333333 44 男

21.sql right(outer) join语法;

【作用】

右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。

假设有这样两个表:

表一:

-------------------------

姓名备注

Aa 1111111

Bb 2222222

Cc 3333333

表二:

------------------------

姓名年龄性别

Aa 22 男

Tt 33 女

Cc 44 男

Gg 55 女

对于右外连接:

Select a.*,b.*

From 表一 as a right join 表二 as b On a.姓名=b.姓名则查询的结果为:

---------------------------------------

姓名备注年龄性别

Aa 1111111 22 男

Tt null 33 女

Cc 333333 44 男

Gg null 55 女

22.sql full/cross (outer) join语法;

【作用】

全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。【举例】

select a.*,b.*

From 表一 as a full outer join 表二 as b

On a.姓名=b.姓名

23.sql group by分组的语法;

【语法】

select 字段,sum(字段) as 字段名 from 表名 group by 字段

【举例】

select 月份,sum(工资) as 月工资合计 from 人员表 group by 月份

【说明】

分组字段不能是:text,ntext,image类型的字段。

24.sql分离数据库的语法;

【语法】

exec sp_detach_db '数据库名', 'true'

【举例】

exec sp_detach_db '人事管理库', 'true'

25.sql附加数据库的语法;

exec sp_attach_db @dbname='数据库名',@filename1=n'c:\program files\sql server路径名+.mdf',@filename2=n'...填写路径...+.ldf'

【举例】

例1:

exec sp_attach_db @dbname=n'人事管理库' @filename1=n'c:\人事管理库.mdf', @filename2=n'c:\人事管理库.ldf' 例

2:

exec sp_attach_db @dbname=n'my_rsgl',

@filename1=n'c:\program files\microsoft sql server\mssql\data\my_rsgl.mdf',

@filename2=n'c:\program files\microsoft sql server\mssql\data\my_rsgl_log.ldf'

26.sql修改数据库名称的语法;

【语法】

exec sp_renamedb 'old_name', 'new_name'

【举例】

exec sp_renamedb '人事管理库', '人员管理库'

【说明】

注意此修改只是改变了数据库的名称,而不是它在硬盘上的文件名。

27.sql between的用法;

【作用】

between限制查询数据范围时包括了边界值,not between不包括

【语法】

select * from table1 where time between time1 and time2

select a,b,c from table1 where a not between 数值1 and 数值2

【举例】

select * from 人员表

where (日期 between '1997-12-01' and '2012-06-01')

select * from 人员表

where (年龄 not between 30 and 40)

【说明】

用来比较的字段要求是数值类型的字段或日期型字段。

28.sql in的用法;

【作用】

查找“在”或“不在”指定范围的数据。

【语法】

select * from table1 where a [not] in ('值1','值2','值4','值6')

【举例】

select * from 人员表 where (年龄 not in ('20', '30', '50', '60'))

select * from 人员表 where (年龄 in ('20', '30', '50', '60'))

【延伸】

select * from 人员表 where 工号 in (select 工号 from 工资表) select * from 人员表 where 工号 not in (select 工号 from 工资表)

【说明】

in语句的作用很大,但是用于比较的数据越多,得出结果的速度就越慢。

29.sql top的用法;

【作用】

查找指定范围的数据的前几条,默认从首条开始返回。

【语法】

select top n * from table1 (n 表示条数,用整数)

【举例】

select top 3 * from 人员表

【延伸】

select top 2 * from 人员表 where (性别 = '女')

【说明】

top语句适合用在提取少量数据用于显示、或需要提取指定条数的记录。

30.sql exists的用法;

【作用】

查找当前表在别的表中“存在”或“不存在”的记录。

【语法】

select * from table1 where not exists ( select * from table2 where table1.field1=table2.field1 ) 【举例】

select * from 人员表 where not exists ( select * from 工资表 where 人员表.工号=工资表.工号 )

31.sql truncate table的用法;

【作用】

删除表中的全部数据,而且不写日志。

【语法】

truncate table table1

【举例】

truncate table 工资表

【说明】

这个命令与delete的作用相同,但delete要写日志,而且delete 语句后面可以使用where 条件语句。

32.sql 收缩数据库的语法;

【语法】

dbcc shrinkdatabase (database_name, target_percent)

【举例】

Dbcc shrinkdatabase (userdb, 10) go

【说明】

上面的代码是将 userdb 用户数据库中的文件减小,以使 userdb 中的文件有 10% 的可用空间。

33.sql检查备份集的语法;

【语法】

restore verifyonly from disk=路径

【举例】

restore verifyonly from disk='f:\back1.bak'

【说明】

验证备份但不还原备份。检查备份集是否完整以及所有卷是否都可读。但是,

restore verifyonly 不尝试验证备份卷中的数据结构。如果备份有效,则 microsoft sql server 2000 返回此消息:"备份集有效"。

34.sql修复数据库的语法;

【语法】

alter database database-name set single_user go

dbcc checkdb(database-name,repair_allow_data_loss) with tablock go

alter database database-name set multi_user go

【举例】

alter database 人事管理库 set single_user go

dbcc checkdb('人事管理库',repair_allow_data_loss) with tablock go

alter database人事管理库 set multi_user go

【说明】

检查指定数据库中的所有对象的分配和结构完整性、并修复错误,alter

database 提供了更改数据库名称、文件组名称以及数据文件和日志文件的逻辑名称的能力。

35.sql清除日志的写法;

【举例】

if exists (select * from sysobjects where id =

object_id(n'[dbo].[truncate_log_file]') and objectproperty(id, n'isprocedure') = 1)

drop procedure [dbo].[truncate_log_file] go

set quoted_identifier off set ansi_nulls on go

create procedure [truncate_log_file] as set nocount on

declare @logicalfilename sysname, @maxminutes int, @newsize int select @logi calfilename = 'xxxx_log', -- 这里的xxxx_log替换成泥自己数据库的log名

@maxminutes = 10, @newsize = 10 declare @originalsize int

select @originalsize = size from sysfiles

where name = @logicalfilename declare @counter int,

@starttime datetime, @trunclog varchar(255) while @originalsize*8/1024>@newsiz e begin

create table dummytrans

(dummycolumn char (8000) not null) select @starttime = getdate(), @trunclog = 'back up log ['+ db_name() + '] with truncate_only' dbcc shrinkfile (@logicalfilename, @newsize) ex ec (@trunclog)

while @maxminutes > datediff (mi, @starttime, getdate())

and @originalsize = (select size from sysfiles where name = @logicalfilename)

and (@originalsize * 8 /1024) > @newsize begin

select @counter = 0

while ((@counter < @originalsize / 16) and (@counter < 5000)) begin

insert dummytrans values ('fill log') delete dummytrans

select @counter = @counter + 1 end

exec (@trunclog) end

select @originalsize=size from sysfiles

where name = @logicalfilename drop table dummytrans end

set nocount off go

set quoted_identifier off set ansi_nulls on go

【说明】

这段代码包含着多种语法,在使用的时候把数据库换成你要清除日志的数据库,也就是说,这段代码是通用的。

36.sql循环语句的写法;

【举例】

declare @i int

set @i=1 while @i<30 begin

insert into test (userid) values(@i) set @i=@i+1 end

【说明】

while 就是循环指令,sql的循环语句一般写在存储过程当中;也可以在查询分析器中直接执行。

37.sql比较a表和b表是否相等的写法;

【举例】

if (select checksum_agg(binary_checksum(*)) from a

表) = (select checksum_agg(binary_checksum(*)) from b表) print '相等' else

print '不相等'

【说明】

两个表的“记录数”和“内容”完全一致,才相等,内容有不同则不相等。

38.sql将本地表数据导入到远程表的写法;

【语法】

insert opendatasource('sqloledb',

'data source=远程ip;user id=sa;password=密码'

).库名.dbo.表名 (列名1,列名2) select 列名1,列名2 from 本地表名

【举例】

insert opendatasource('sqloledb',

'Data source=192.168.1.2;user id=sa;password=888'

).my_rsgl.dbo.人员表 (工号,姓名) select 工号,姓名 from 人员表

39.sql将远程表数据导入到本地表的写法;

【举例】

exec sp_addlinkedserver @server = '192.168.1.2'

exec sp_addlinkedsrvlogin @rmtsrvname = '192.168.1.2', @useself = false , @locallogin = 'sa', @ rmtuser = 'sa' , @rmtpassword ='sql'

select * into xxx01 from [192.168.1.2].人事管理库.dbo.人员表

【说明】

前面创建的链接服务器,如果不需要了,删除的语法是:

exec sp_dropserver '192.168.1.2', 'droplogins'

1.演示用代码建立数据库、表和字段的过程;

【代码】

1)建数据库:create database my_gzgl 2)建数据表:

create table [人员表]

([工号] [nvarchar] (50) collate chinese_prc_ci_as null,

[姓名] [nvarchar] (50) collate chinese_prc_ci_as null,

[性别] [nvarchar] (2) collate chinese_prc_ci_as null) on [primary]

2.演示用代码建立视图的过程;

【代码】

create view v_ryb as select 工号,姓名 from 人员表

3.演示用代码建立存储过程、触发器的过程;

【代码】

1)建存储过程:

create procedure myccgc @gh nvarchar (100)

as select * from 人员表 where 工号=@gh 2)

建触发器:

create trigger writesj on dbo.人员表 for insert as

insert 工资表(工号,月份,工资)select 工号,'',0 from inserted

4.演示对数据库操作的语法案例;

1)备份数据库:backup database my_gzgl to disk= ' f:\back1.bak '

2)删除数据库:drop database my_gzgl

5.演示对表操作的语法案例;

1)向表增加列:alter table 人员表 add 年龄 nvarchar(10) null

2)删除表:drop table 人员表

6.演示对表中的数据进行读写管理的语法案例;

1)插入:insert into 人员表(工号,姓名,性别) values ('gh007','周伯通','男')

2)修改:update 人员表 set 姓名= '欧阳锋' where 工号= 'gh001'

3)删除:delete from 人员表 where 工号= 'gh007'

4)查询:select * from 人员表 where 工号= 'gh001'

7.演示各种sql运算符在sql语句中的应用案例;

1)算术运算符:

select 工号,姓名,工资*个人所得税率+伙食补贴 as 实发工资 from 工资表

2)比较运算符:

select 工号,姓名,年龄from 人员表 where 年龄>=35

3)逻辑运算符:

select 工号,姓名,年龄from 人员表 where (年龄>=20 or年龄<35) and (年龄>=40 or年龄<55) 4)集合运算符:

select * from 人员表 where (年龄 not in ('20', '30', '50', '55'))

8.演示表与表之间数据交换的应用案例;

insert into 工资表(工号,月份) select 工号, '一月份’from 人员表

9.演示本地表与远程表之间的操作实例。

1)本地表写入远程表:

insert opendatasource('sqloledb','data source=192.168.1.2;user id=sa;password=888'

).my_rsgl.dbo.人员表 (工号,姓名) select 工号,姓名 from 人员表

2)远程表写入本地表:

exec sp_addlinkedserver @server = '192.168.1.2'

exec sp_addlinkedsrvlogin @rmtsrvname = '192.168.1.2', @useself = false , @locallogin = 'sa', @ rmtuser = 'sa' , @rmtpassword ='sql'

select * into xxx01 from [192.168.1.2].人事管理库.dbo.人员表

常用SQL语句大全

常用SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 DROP database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definition only 5、说明:删除新表 DROP table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname DROP primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:DROP index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:DROP view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词

常用MySQL语句大全

MySQL服务的配置和使用 修改MySQL管理员的口令:mysqladmin –u root password 密码字符串 如:mysqldmin –u root password 111111 连接MySQL服务器,使用命令:mysql [-h 主机名或IP地址] [-u 用户名] [-p] 如:mysql –u root –p 如已有密码需修改root密码用命令: mysqladmin –u root –p password 新密码字符串 如:mysqladmin –u root –p password 111111 创建数据库格式为:CREATE DATABASE 数据库名称; 如:mysql>create database abc; 默认创建数据库保存在/var/lib/mysql中 查看数据库是 mysql>show abc; 选择数据库是 USE 数据库名称; 如:mysql>use abc; 删除数据库是 DROP DATABASE 数据库名称;如:mysql>drop database abc; 数据库的创建和删除 创建表是CREATE TABLE 表名称(字段1,字段2,…[表级约束]) [TYPE=表类型]; 其中字段(1,2 )格式为:字段名字段类型[字段约束] 如创建一个表student,如下: mysql>create table student ( sno varchar(7) not null, 字段不允许为空 sname varchar (20 )not null, ssex char (1) default …t?, sbirthday date, sdepa char (20), primary key (sno) 表的主键 ); 可用describe命令查看表的结构。 默认表的类型为MYISAM,并在/var/lib/mysql/abc 目录下建立student.frm(表定

SQL语言基本语法

SQL语言基本语法 SQL语言是用于查询关系数据库的标准语言,它包括若干关键字和一致的语法,便于数据库元件(如表、索引、字段等)的建立和操纵。SQL语言有四种基本的对数据表操作的语句:INSERT,UPDATE,DELETE和SELECT语句,下面将逐一介绍。 1.INSERT语句 insert into table_name (column1,column2,...) values ( value1,value2, ...); 说明:(1) 若没有指定column,系统则会按表设计中的字段顺序填入数据。 (2) 插入数据的数据类型必须和表设计中对应字段的数据类型吻合。 2.UPDATE语句 语法结构: update table_name set column1='***' // 或set column1=*** where conditions; 说明:(1) 更改某个数据列的值,如果此列数据库类型为数值型,设定值不加单引号,如果是非数值型需加单引号。 (2) conditions 是所要符合的条件、若没有where 子句则整个table 的 column1列的数据会全部被更改。当条件有多个时,须通过or或and关键 字作逻辑连接。 3.DELETE语句 语法结构: delete from table_name where conditions; 说明:删除符合条件的数据。 4.SELECT语句 基本查询 语法结构1: select column1,column2,... from table_name; 说明:把table_name表中指定查询的列的信息查询出来。 语法结构2: select * from table_name where conditions; 说明:(1) '*'表示全部的数据列中数据。 (2) conditions为条件表达式。 排序查询 语法结构: select column1,column2

SQL语句语法大全

第13章:SQL语句语法 目录 13.1. 数据定义语句 13.1.1. ALTER DATABASE语法 13.1.2. ALTER TABLE语法 13.1.3. CREATE DATABASE语法 13.1.4. CREATE INDEX语法 13.1.5. CREATE TABLE语法 13.1.6. DROP DATABASE语法 13.1.7. DROP INDEX语法 13.1.8. DROP TABLE语法 13.1.9. RENAME TABLE语法 13.2. 数据操作语句 13.2.1. DELETE语法 13.2.2. DO语法 13.2.3. HANDLER语法 13.2.4. INSERT语法 13.2.5. LOAD DATA INFILE语法 13.2.6. REPLACE语法 13.2.7. SELECT语法 13.2.8. Subquery语法 13.2.9. TRUNCATE语法 13.2.10. UPDATE语法 13.3. MySQL实用工具语句 13.3.1. DESCRIBE语法(获取有关列的信息) 13.3.2. USE语法 13.4. MySQL事务处理和锁定语句 13.4.1. START TRANSACTION, COMMIT和ROLLBACK语法 13.4.2. 不能回滚的语句 13.4.3. 会造成隐式提交的语句 13.4.4. SAVEPOINT和ROLLBACK TO SAVEPOINT语法 13.4.5. LOCK TABLES和UNLOCK TABLES语法 13.4.6. SET TRANSACTION语法 13.4.7. XA事务 13.5. 数据库管理语句 13.5.1. 账户管理语句 13.5.2. 表维护语句 13.5.3. SET语法 13.5.4. SHOW语法 13.5.5. 其它管理语句 13.6. 复制语句

个人总结的mysql常用命令大全

第一招、mysql服务的启动和停止 net stop mysql net start mysql 第二招、登陆mysql 语法如下:mysql -u用户名-p用户密码 键入命令mysql -uroot -p,回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql 的提示符是: mysql> 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP 第三招、增加新用户 格式:grant 权限on 数据库.* to 用户名@登录主机identified by "密码" 如,增加一个用户user1密码为password1,让其可以在本机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令: grant select,insert,update,delete on *.* to user1@localhost Identified by "password1"; 如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。 如果你不想user1有密码,可以再打一个命令将密码去掉。 grant select,insert,update,delete on mydb.* to user1@localhost identified by ""; 第四招:操作数据库 登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。 1、显示数据库列表。 show databases; 缺省有两个数据库:mysql和test。mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。 2、显示库中的数据表: use mysql;

MySQL语法语句汇编

MySQL语法语句大全 一、SQL速成 结构查询语言(SQL)是用于查询关系数据库的标准语言,它包括若干关键字和一致的语法,便于数据库元件(如表、索引、字段等)的建立和操纵。 以下是一些重要的SQL快速参考,有关SQL的语法和在标准SQL上增加的特性,请查询MySQL手册。 1.创建表 表是数据库的最基本元素之一,表与表之间可以相互独立,也可以相互关联。创建表的基本语法如下: create table table_name (column_name data无效{identity |null|not null}, …) 其中参数table_name和column_name必须满足用户数据库中的识别器(identifier)的要求,参数data无效是一个标准的SQL类型或由用户数据库提供的类型。用户要使用non-null从句为各字段输入数据。 create table还有一些其他选项,如创建临时表和使用select子句从其他的表中读取某些字段组成新表等。还有,在创建表是可用PRIMARY KEY、KEY、INDEX等标识符设定某些字段为主键或索引等。 书写上要注意: 在一对圆括号里的列出完整的字段清单。 字段名间用逗号隔开。 字段名间的逗号后要加一个空格。 最后一个字段名后不用逗号。 所有的SQL陈述都以分号";"结束。 例: mysql> CREATE TABLE test (blob_col BLOB,index(blob_col(10))); 2.创建索引 索引用于对数据库的查询。一般数据库建有多种索引方案,每种方案都精于某一特定的查询类。索引可以加速对数据库的查询过程。创建索引的基本语法如下: create index index_name on table_name (col_name[(length)],... ) 例: mysql> CREATE INDEX part_of_name ON customer (name(10)); 3.改变表结构 在数据库的使用过程中,有时需要改变它的表结构,包括改变字段名,甚至改变不同数据库字段间的关系。可以实现上述改变的命令是alter,其基本语法如下: alter table table_name alter_spec [,alter_spec ...] 例: mysql> ALTER TABLE t1 CHANGE a b INTEGER; 4.删除数据对象

数据库语法大全

一、简单的增删改查: 表名为room 查:select *from 表 where 字段=要查询的值 增:insert into room values(…要增加的值?,…..) 改:udate 表 set roomjc=?DDD? where id=1;(改变room表中字段id为1的roomjc的数据) 删: delete from room where id=?1?(删除表中字段ID为1的那一行数据) 二、建表 Create table 表名( 主键ID自增 字段字段类型 identity(1,1) not null 主键(primary key) 字段字段类型 null 外键(foreign key) (还有一个唯一约束unique(col_name)) … ………. ) 向表中插入数据: Insert into 表名 values(?1?,?aa?) …………….. ……. 删除数据表: Drop table 表名;

三、数据的查询 1.查询多少到多少之间的数据(用”between”关键字) Select *from room where id between 1 and 5 (查询id为1到5之间的数据) 2.改变字段名 Select 名称=foodname 类型=foodbjf from room (把表中room中的字段名为foodname改成”名称”,foodbjf改为”类型”) 3.查询重复的数据(关键字”group by” (分组)) g roup by 列名 having 条件表达式 Select *from room where roombjf in(select roombjf from room group by roombjf having count (roombjf)>1) order by id(“查询表中room 字段为roombjf的重复数据”按id进行排序) 升序:order by 字段 asc 降序:order by 字段 desc 4.删除重复的数据(所有重复的都将删除): 将select改为delete还可以用distinct关键字:select distinct 字段名 from 表名5.限制返回行数(top n)则查询结果值显示表中前n条记录: Select top 5 from 表名; 6.逻辑运算符: And:用来链接两个必须同时成立的条件 Or:任意一个成立即可 Not:用来给定的结果取反

SQL语法分析和SQL解释实现

SQL语法现状 SQL语言的标准也经历了一系列的发展,大致有SQL86, SQL89, SQL92, SQL/CLI, SQL/PSM, SQL99几个过程,其中大部分商业数据库目前都支持SQL92。另外,商业数据库使用的SQL大多有自己的扩展。因此严格来说,SQL语法没有一个完全统一的标准。 实现范围和方法 即便是SQL92,完整的分析也是不可能做到的,目前我们仅能就一些基本的不太复杂的语法做一些有限度的分析。考虑到常用数据库的特点,可以以后增加某种数据库的特性支持。实现上,由于SQL语句的复杂性,无法采取完整分析的方法,因此考虑采用经典句型模式匹配加上简单分析的方法来提取一点基本语法单元。这样分析出来的结果应该可以满足设计要求的。 另外,分析程序不能够完全识别语法错误。能够识别词法错误以及基本句型错误。 由于分析程序仅仅支持一些常见基本句型,因此一些提示(HINT),选项(OPTION),以及排序方式等细节将被有意忽略。而且复杂的句型有可能被误识别,导致解释错误。 代码实现以状态图为准。 部分SQL语法描述 以下部分基于SQL Server 2000, Oracle 10g, MySQL 5, Sybase ASE 12.5等产品手册。 语法描述的格式遵从各自的文档习惯。 SQL Server 2000《SQL Server联机丛书》—Transact-SQL参考 Oracle 10g《SQL Reference》-- SQL Statements MySQL《MySQL Manual》-- SQL Statement Syntax Sybase 《Sybase? Adaptive Server?Enterprise参考手册》—第二卷:命令 数据定义语言 创建数据库语法 SQL Server CREATE DATABASE database_name [ ON [ < filespec > [ ,...n ] ] [ , < filegroup > [ ,...n ] ] ] [ LOG ON { < filespec > [ ,...n ] } ] [ COLLATE collation_name ] [ FOR LOAD | FOR ATTACH ]

数据库基本SQL语句大全

数据库基本SQL 语句大全 学会数据库是很实用D ??记录一些常用的sql 语句…有入门有提高 有见都没见过的…好全…收藏下… 其实一般用的就是查询,插入,删除等语句而已....但学学存储过程是好 事…以后数据方面的东西就不用在程序里搞喽?.而且程序与数据库只要 一个来回通讯就可以搞定所有数据的操作 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbn ame 3、说明:备份sql server ---创建 备份数据的device USE master EXEC sp_addumpdevice ‘ disk ‘ c: MyNwind_1.dat ---开始备份 BACKU P DATABASE pubs TO testBack 4、说明:创建新表 create table tab name(col1 type1 [not n ull] [p rimary key],col2 type2 [not null],..) 根据已有的表创建新表: A : create table tab_new like tab_old 使用旧表创建新表) B : create table tab_new as select col1,col2 5、说明:删除新表 drop table tab name ‘ testBack ??- from tab_old defi niti on only

6、说明:增加一个列 Alter table tab name add colu mn col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一 能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tab name add p rimary key(col) 说明:删除主键:Alter table tab name drop p rimary key(col) 8、说明:仓J建索弓丨:c reate [uniq ue] in dex idx name on tab name(col ….) 删除索引:drop in dex idx name 注:索引是不可更改的,想更改必须删除重新 建。 9、说明:创建视图:create view view name as select stateme nt 删除视图:drop view view name 10、说明:几个简单的基本的sql语句 选择: select * from tablel where 范围 插入: in sert into table1(field1,field2) values(value1,value2) 删除: delete from table1 where 范围 更新: up date table1 set field1=value1 where 范围 查找: select * from tablel where fieldi like '%vkee的语法很精 妙,查资料! 排序: select * from tablei order by field1,field2 [desc] 总数: select count as totalco unt from tablei 求和: select sum(fieldi) as sumvalue from tablei 平均: select avg(fieldi) as avgvalue from tablei 最大: select max(fieldi) as maxvalue from tablei

SQL查询语句大全集锦(超经典)

SQL查询语句大全集锦 MYSQL查询语句大全集锦 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 复制内容到剪贴板 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: 复制内容到剪贴板 代码:SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: 复制内容到剪贴板 代码:SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列 标题:

复制内容到剪贴板 代码:SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。 例如: 复制内容到剪贴板 代码:SELECT TOP 2 * FROM `testtable` 复制内容到剪贴板 代码:SELECT TOP 20 PERCENT * FROM `testtable` (二) FROM子句 FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图, 它们之间用逗号分隔。 在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列 所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: 复制内容到剪贴板 代码:SELECT `username`,citytable.cityid FROM `usertable`,`citytable` WHERE usertable.cityid=citytable.cityid在FROM子句中可用以下两种格式为表或视图指定别名: 复制内容到剪贴板 代码:表名 as 别名 表名别名例如上面语句可用表的别名格式表示为: 复制内容到剪贴板

Mysql总结完整版

一、数据库概述 数据库(DataBase,DB):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。 数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。 数据库软件应该为数据库管理系统,数据库是通过数据库管理系统创建和操作的。 数据库:存储、维护和管理数据的集合。 二、数据库的安装与配置 * 安装 * 参照图解 * 一路下一步 * 卸载 1.停止mysql服务net stop mysql 启动mysql服务net start mysql 2.卸载mysql 3.找到mysql 安装目录下的my.ini datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" * 运行 * 安装成功了打开cmd --> mysql -uroot -p你的密码 * 修改mysql root用户密码 1) 停止mysql服务运行输入services.msc 停止mysql服务 或者cmd --> net stop mysql 2) 在cmd下输入mysqld--skip-grant-tables 启动服务器光标不动(不要关闭该窗口) 3) 新打开cmd 输入mysql -u root -p 不需要密码 use mysql; update user set password=password('abc') WHERE User='root'; 4) 关闭两个cmd窗口在任务管理器结束mysqld 进程 5) 在服务管理页面重启mysql 服务 密码修改完成 * 配置 * 参照图解

数据库经典SQL语句大全

数据库经典SQL语句大全 篇一:经典SQL语句大全 下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk','testBack', 'c:mssql7backupMyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2? from tab_old definition only 5、说明: 删除新表: tabname 6、说明: 增加一个列:Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明: 添加主键:Alter table tabname add primary key(col) 说明: 删除主键:Alter table tabname drop primary key(col) 8、说明: 创建索引:create [unique] index idxname on tabname(col?.) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。

SQL数据库语法总结

SQL Sever 2008 数据库语法总结1.数据库创建管理 1.1 创建数据库 CREATE DATABASE DB ON PRIMARY ( NAME = DB_data, FILENAME = 'F:\DB_data1.mdf', SIZE = 10MB, MAXSIZE = UNLIMTED ), ( NAME = DB_data2, FILENAME = 'F:\DB_data2.ndf', SIZE = 11MB, MAXSIZE = 20MB, FILEGROWTH = 2MB ) LOG ON ( NAME = DB_log1, FILENAME = 'F:\DB_log1.ldf', SIZE = 1MB, MAXSIZE = 30MB, FILEGROWTH = 10% ) 1.2 修改数据库 1.2.1 增加数据文件 语法: alter database 数据库名称

add file 数据文件 [to file group 文件组名称] add log file 日志文件 操作: ALTER DATABASE DB ADD FILE ( NAME = , FILENAME = , SIZE = , FILEGROWTH = ) 1.2.2 增加日志文件 ALTER DATABASE DB ADD LOG FILE ( NAME = , FILENAME = , SIZE = , FILEGROWTH = , MAXSIZE = ) 1.2.3 修改数据文件 语法: ALTER DATABASE 数据库名 MODIFY FILE 文件属性 操作:将数据库db1中的数据文件data2的初始大小改为10MB,最大容

数据库基本----sql语句大全

学会数据库是很实用D~~记录一些常用的sql语句...有入门有提高有见都没见过的...好全...收藏下... 其实一般用的就是查询,插入,删除等语句而已....但学学存储过程是好事...以后数据方面的东西就不用在程序里搞喽..而且程序与数据库只要一个来回通讯就可以搞定所有数据的操作.... 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where X围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where X围 更新:update table1 set field1=value1 where X围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1

MySQL语法大全

1、启动MySQL服务器 两种方法: 一是用winmysqladmin,如果机器启动时已自动运行,则可直接进入下一步操作。二是在DOS方式下运行 d:mysqlbinmysqld 2、进入mysql交互操作界面 在DOS方式下,运行: d:mysqlbinmysql 出现: mysql 的提示符,此时已进入mysql的交互操作方式。 如果出现 "ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)“, 说明你的MySQL还没有启动。 3、退出MySQL操作界面 在mysql>提示符下输入quit可以随时退出交互操作界面: mysql> quit Bye 你也可以用control-D退出。 4、第一条命令 mysql> select version(),current_date(); 1 row in set (0.01 sec) mysql> 此命令要求mysql服务器告诉你它的版本号和当前日期。尝试用不同大小写操作上述命令,看结果如何。 结果说明mysql命令的大小写结果是一致的。 练习如下操作: mysql>Select (20+5)*4; mysql>Select (20+5)*4,sin(pi()/3); mysql>Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名为Result) 5、多行语句 一条命令可以分成多行输入,直到出现分号“;”为止: mysql> select -> USER() -> ,

-> now() ->; +--------------------+---------------------+ | USER() | now() | +--------------------+---------------------+ | ODBC@localhost | 2001-05-17 22:59:15 | +--------------------+---------------------+ 1 row in set (0.06 sec) mysql> 注意中间的逗号和最后的分号的使用方法。 6、一行多命令 输入如下命令: mysql> SELECT USER(); SELECT NOW(); +------------------+ | USER() | +------------------+ | ODBC@localhost | +------------------+ 1 row in set (0.00 sec) +---------------------+ | NOW() | +---------------------+ | 2001-05-17 23:06:15 | +---------------------+ 1 row in set (0.00 sec) mysql> 注意中间的分号,命令之间用分号隔开。 7、显示当前存在的数据库 mysql> show databases; +----------+ | Database | +----------+ | mysql| | test | +----------+ 2 row in set (0.06 sec) mysql> 8、选择数据库并显示当前选择的数据库 mysql> USE mysql Database changed mysql>

数据库基本SQL语句大全

数据库基本SQL语句大全 数据库基本----SQL语句大全 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围

MySQL基础知识总结

day15-MySQL 数据库 1数据库概念(了解) 1.1什么是数据库 数据库就是用来存储和管理数据的仓库! 数据库存储数据的优先:

●可存储大量数据; ●方便检索; ●保持数据的一致性、完整性; ●安全,可共享; ●通过组合分析,可产生新数据。 1.2数据库的发展历程 ●没有数据库,使用磁盘文件存储数据; ●层次结构模型数据库; ●网状结构模型数据库; ●关系结构模型数据库:使用二维表格来存储数据; ●关系-对象模型数据库; MySQL就是关系型数据库! 1.3常见数据库 ●Oracle(神喻):甲骨文(最高!); ●DB2:IBM; ●SQL Server:微软; ●Sybase:赛尔斯; ●MySQL:甲骨文; 1.4理解数据库 ●RDBMS = 管理员(manager)+仓库(database) ●database = N个table ●table: ?表结构:定义表的列名和列类型! ?表记录:一行一行的记录! 我们现在所说的数据库泛指“关系型数据库管理系统(RDBMS - Relational database management system)”,即“数据库服务器”。 当我们安装了数据库服务器后,就可以在数据库服务器中创建数据库,每个数据库中还可以包含多张表。

数据库表就是一个多行多列的表格。在创建表时,需要指定表的列数,以及列名称,列类型等信息。而不用指定表格的行数,行数是没有上限的。下面是tab_student表的结构: 当把表格创建好了之后,就可以向表格中添加数据了。向表格添加数据是以行为单位的!下面是s_student表的记录: s_id s_name s_age s_sex S_1001 zhangSan 23 male S_1002 liSi 32 female S_1003 wangWu 44 male 大家要学会区分什么是表结构,什么是表记录。 1.5应用程序与数据库 应用程序使用数据库完成对数据的存储!

相关文档
最新文档