第一部分 SQL 常用命令
一、 数据库操作
1.创建数据库
Ø 简单创建 CREATE DATABASE 数据库名 例:create database test
Ø 完整定义:
例:
CREATE DATABASE sales_1
ON PRIMARY
(NAME= sales_1_data,
FILENAME='d:\ sales_1.mdf',
SIZE=10,
MAXSIZE=unlimited,
FILEGROWTH=20%)
LOG ON
(NAME= sales_1_log,
FILENAME='d:\ sales_1_log.ldf',
SIZE=3,
MAXSIZE=10,
FILEGROWTH=2)
2.更改数据库名称
sp_renamedb'oldname', 'newname' 例:sp_renamedb 'test', 'test1'
3.修改数据库大小
例:DBCCSHRINKDATABASE(test,40,NOTRUNCATE)
DBCC SHRINKFILE(test_1,4)
4.删除数据库
DROPDATABASE 数据库名
5.查看数据库信息
Ø sp_helpdb查看当前服务器上的所有数据库信息,可以指定数据库名称
Ø sp_databases查看当前服务器上的所有可以使用的数据库
Ø sp_helpfile查看当前数据库中的所有文件信息,可以指定文件名
Ø sp_helpfilegroup查看当前数据库中的所有文件组信息,可以指定文件组
二、表操作
1.创建表
Ø CREATETABLE 数据表名(字段1名字段1的数据类型,字段2名字段2的数据类型,. . . ,字段n名 字段n的数据类型)
例:createtable card(card_id char(6),card_name char(10),card_type char(10),card_creditdecimal(5,2), card_date datetime)
Createtable usecard (card_id char(6), exp_type char(20) exp char(100),scoredecimal(10,2),scoredate datetime)
注意:常用数据类型
整型: int 不能设置长度
浮点型:Decimal(长度,小数) numeric(长度,小数)
字符型:char(10) varchar(10)
日期型:datetime不能设置长度
Ø 当要创建表同时创建主键约束:
create table card(card_id char(6) constraint pk_name(约束名) PRIMARY KEY CLUSTERED,card_name char(10),card_creditdecimal(5,2), card_date datetime)
2.修改表结构
Ø 在表中增加一个的字段
ALTER TABLE 数据表名 ADD 字段名 字段数据类型
例:altertable card add card_grade int
Ø 在表中删除一个字段
ALTER TABLE 数据表名 DROPCOLUMN 字段名
例:altertable card drop column card_grade
Ø 修改表中某字段数据类型
ALTER TABLE 数据表名 ALTERCOLUMN 字段名 字段数据类型
例:altertable card alter column card_grade decimal(5,2)
Ø 为已存在的表设置主键(先将要设置成主键的字段修改为NOT NULL)
ALTER TABLE 数据表名 ADDCONSTRAINT card_pk PRIMARY KEY CLUSTERED(card_id)
例:altertable card ADD constraint pk_name(约束名) PRIMARYKEY CLUSTERED(card_id)
3. 查看表
Ø sp_help数据表名
Ø sp_depends查看表的相关性
Ø sp_helpconstraint查看表的约束
4. 删除表
DROP TABLE 数据表名 例:drop table card
5. 重命名表
sp_rename oldname,newname 例:sp_renamecard1,card
6. 插入记录
INSERT INTO 数据表名(字段1,字段2,. . .,字段n) VALUES(字段1值,字段2值,. . .,字段n值)
例:insertinto card(card_id,card_name,card_credit,card_date) values('1001','王晓明',15,'20070101')
7. 更新记录
UPDATE 数据表名 SET 字段1名=字段1值,字段2名=字段2值,. . .,字段n名=字段n值
例:updatecard set card_name='wanghong',card_credit=20 where card_id='1001'
8. 删除记录
DELETE FROM 数据表名 WHERE 条件
例:delete from card where card_id='1001'
9.查询命令
SELECT select_ist FROM table_source [WHEREsearch_condition] [GROUP BY groupby_expression] [HAVING serch_conditing] [ORDERBY order_expression[ASC|DESC]]
例:
1.查询card表中的所有记录
select * fromcard
2.查询card表中card_credit字段,并去掉重复值
selectdistinct card_credit from card
3.查询card表中card_id,card_name,card_credit字段
selectcard_id,card_name,card_credit from card
4.查询card表中的前10条记录
select top 10* from card
5.查询card表中前面10%的记录
select top 10percent * from card
6.用INTO子句创建一个新表card1,表中包含card表的前10%的记录
select top 10percent * into card1 from card