资源描述
命令行
1、显示当前数据库服务器中的数据库列表:mysql> SHOW DATABASES;
2、建立数据库:mysql> CREATE DATABASE 库名;
3、建立数据表:mysql> USE 库名;mysql> CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));
4、删除数据库:mysql> DROP DATABASE 库名;
5、删除数据表:mysql> DROP TABLE 表名;
6、将表中记录清空:mysql> DELETE FROM 表名;
7、往表中插入记录:mysql> INSERT INTO 表名 VALUES ("hyq","M");
8、更新表中数据:mysql-> UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';
9、用文本方式将数据装入数据表中:mysql> load data local infile "d:/mysql.txt" into table 表名;
10、导入.sql文件命令:mysql> USE 数据库名;mysql> source d:/mysql.sql;
11、命令行修改root密码:mysql> update mysql.user set password=password('新密码') where user='root';mysql> flush privileges;
12.修改密码的三种方法:mysql>update user set password=password('123456') where user='joy_pen';mysql>flush privileges;mysql>set password for 'joy_oen'=password('123456');mysql>grant usage on *.* to 'joy_pen' identified by '123456';
1、创建数据库
命令:create database <数据库名> 例如:建立一个名为xhkdb的数据库mysql> create database xhkdb;
2、显示所有的数据库
命令:show databases (注意:最后有个s)mysql> show databases;
3、删除数据库
命令:drop database <数据库名> 例如:删除名为 xhkdb的数据库mysql> drop database xhkdb;
4、连接数据库
命令: use <数据库名> 例如:如果xhkdb数据库存在,尝试存取它:mysql> use xhkdb; 屏幕提示:Database changed
5、当前选择(连接)的数据库mysql> select database();
6、当前数据库包含的表信息:mysql> show tables; (注意:最后有个s)
三、表操作,操作之前应连接某个数据库
1、建表
命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);
mysql> create table MyClass(
> id int(4) not null primary key auto_increment,
> name char(20) not null,
> sex int(4) not null default ''0'',
> degree double(16,2));
2、获取表结构
命令: desc 表名,或者show columns from 表名
mysql>DESCRIBE MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;
3、删除表
命令:drop table <表名>
例如:删除表名为 MyClass 的表 mysql> drop table MyClass;
4、插入数据
命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
例如,往表 MyClass中插入二条记录, 这二条记录表示:编号为1的名为Tom的成绩为96.45, 编号为2 的名为Joan 的成绩为82.99,编号为3 的名为Wang 的成绩为96.5.
mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);
5、查询表中的数据
1)、查询所有行
命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >
例如:查看表 MyClass 中所有数据 mysql> select * from MyClass;
2)、查询前几行数据
例如:查看表 MyClass 中前2行数据
mysql> select * from MyClass order by id limit 0,2;
6、删除表中数据
命令:delete from 表名 where 表达式
例如:删除表 MyClass中编号为1 的记录
mysql> delete from MyClass where id=1;
7、修改表中数据:update 表名 set 字段=新值,… where 条件
mysql> update MyClass set name=''Mary'' where id=1;
8、在表中增加字段:
命令:alter table 表名 add 字段 类型 其他;
例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0
mysql> alter table MyClass add passtest int(4) default ''0''
9、更改表名:
命令:rename table 原表名 to 新表名;
例如:在表MyClass名字更改为YouClass
mysql> rename table MyClass to YouClass;
更新字段内容
update 表名 set 字段名 = 新内容
update 表名 set 字段名 = replace(字段名,''旧内容'',''新内容'');
数据库、表、索引的定义
一、目的:
通过本实验加深对SQL Server 2000环境下数据定义语言的理解,能够熟练地建立数据库,并通过SQL语句来创建和修改基本表、创建和取消索引。
二、内容:
使用SQL Server 2000软件,练习创建和修改数据库、表、索引。
三、要求:
建立一个新的SQL Server设备管理数据库,使用SQL的数据定义功能建立数据库中的各个基本表(共3个),并按要求对有关表进行修改。 每次操作后通过企业管理器查看有关对象的变化。
四、步骤:
1.创建数据库
1) 使用企业管理器创建数据库
使用企业管理器创建数据库的步骤如下:
① 如果SQL Server服务还没有启动,应先启动SQL Server服务,然后启动企业管理器。
② 在控制台上依次单击“Microsoft SQL Servers”和“SQL Server组”左边的加号,然后单击要创建数据库的服务器左边的加号图标,展开树形目录。
③ 右击“数据库”,然后单击“新建数据库”命令。
④ 在“名称”文本框中输入数据库名(根据学生本人的学号取名)。
⑤ 在“数据文件”页中输入主数据文件的名称。
⑥ 若要更改数据文件的存储位置,单击“位置”列表框上的按钮,(注意确定文件目录已经存在、并允许读写)。
⑦ 在“初始大小”项上输入希望的大小。
⑧ 如果希望数据库文件的容量能根据实际数据的需要自动增加,可选中“文件属性”部分的“文件自动增长”复选框。
⑨ 仿照“数据文件”页的定义方法定义“事务日志”页。
【说明一】:数据文件和日志文件的作用
数据文件又包括:主数据文件和辅助数据文件。主数据文件的扩展名是.mdf,每个数据库只能包含一个主数据文件。辅助数据文件的扩展名是.ndf。辅助数据文件可以同主数据文件存放在相同的位置,也可以存放在不同的地方。
日志文件记录页的分配和释放以及对数据库数据的修改操作。日志文件的扩展名为.ldf,它包含用于恢复数据库的日志信息。每个数据库必须至少有一个日志文件。
【说明二】:数据库文件的属性
在定义数据库的数据文件和日志文件时,可以指定如下属性:
Ø 文件名及其位置。每个数据库的数据文件和日志文件都具有一个逻辑名称以及文件的物理存放位置。
Ø 文件大小。可以指定每个数据文件和日志文件的大小,以MB为单位。
Ø 增长方式。如果需要的话,可以指定文件是否自动增长,该选项的默认配置为自动增长。
Ø 最大大小。指定文件增长的最大大小。默认是大小无限制。
2) 使用Transact-SQL语句创建数据库
① 语法结构
CREATE DATABASE 数据库名
[ON
[ <文件格式> [ , … n ] ]
]
[ LOG ON { <文件格式> [ , … n ] } ]
<文件格式> ::=
( [ NAME = 逻辑文件名, ]
FILENAME = ‘操作系统下的物理路径和文件名’
[, SIZE = 文件初始大小 ]
[, MAXSIZE = 文件最大大小 | UNLIMITED ]
[, FILEGROWTH = 增量值 ] ) [ , … n]
② 有关说明
Ø ON关键字表示数据库是根据后面的参数来创建的;
Ø n是一个占位符,表明可为新数据库指定多个文件;
Ø LOG ON 子句用于指定该数据库的事务日志文件;
Ø NAME用于指定数据库文件的逻辑文件名;
Ø FILENAME用于指定数据库文件的存放位置及在磁盘上的文件名;
Ø SIZE用于指定数据库文件的初始大小,可以加上MB或KB,默认为MB;
Ø MAXSIZE用于指定数据库文件的最大大小,可以加上MB或KB,默认为MB。省略此项表示最大大小无限制;
Ø FILEGROWTH用于指定数据库文件的增加量,可以加上MB或KB或%,默认为MB。省略此项表示不自动增长。
③ 内容
创建一个数据库,数据库名称为你的学号,例如:“AP0406150”,此数据库包含一个数据文件和一个事务日志文件。数据文件只有主数据文件,其逻辑文件名为“AP0406150_data”,其物理文件名为“AP0406150.mdf”,存放位置在默认目录下,其初始大小为10MB,最大大小为30MB,自动增长时的递增量为5MB。事务日志文件的逻辑文件名为“AP0406150_log”,物理文件名为“AP0406150.ldf”,也存放在默认目录下,初始大小为3MB,最大大小为12MB,自动增长时的递增量为2MB。
【注意】: 上机时要根据实际情况确定存放位置,由于计算中心的大多数机器的C、D驱动器有保护卡,建议在驱动器E中建立自己的目录,有关文件将存放在该目录中。
④ 语句格式
CREATE DATABASE AP0406150
ON
( NAME = AP0406150_data,
FILENAME = 'E:\AP0406150\AP0406150.mdf ',
SIZE = 10,
MAXSIZE = 30,
FILEGROWTH = 5 )
LOG ON
( NAME = AP0406150_log,
FILENAME = 'E:\ AP0406150\AP0406150.ldf ',
SIZE = 3,
MAXSIZE = 12,
FILEGROWTH = 2 )
2.创建基本表
打开查询分析器,找到第一步建立的数据库,使用数据定义语句建立三个基本表:
n 学生表:Student(Sno,Sname,Ssex,Sage,Sdept)
其中:属性Sno,Sname,Ssex,Sage和Sdept分别表示学号、姓名、性别、年龄和所在系,Sno为主码,加下划线表示。
CREATE TABLE Student(
Sno CHAR(9) PRIMARY KEY,
Sname CHAR(20) UNIQUE,
Ssex CHAR(2),
Sage CHAR(3),
Sdept CHAR(20)
);
n 课程表:Course(Cno,Cname,Cpno,Ccredit)
其中:属性Cno,Cname,Cpno和Ccredit分别表示课程号、课程名、先修课号和学分,Cno为主码,加下划线表示。
CREATE TABLE Course(
Cno CHAR(4) PRIMARY KEY,
Cname CHAR(40) ,
Cpno CHAR(4),
Ccredit SMALLINT,
FOREIGN KEY (Cpno) REFERENCES Course(Cno)
);
n 学生选课表:SC(Sno,Cno,Grade)
其中:属性Sno,Cno和Grade分别表示学号、课程号和成绩,主码为属性组(Sno,Cno),加下划线表示。
CREATE TABLE SC(
Sno CHAR(9),
Cno CHAR(4) ,
Grade SMALLINT,
PRIMARY KEY (Sno,Cno),
FOREIGN KEY (Sno) REFERENCES Student(Sno),
FOREIGN KEY (Cno) REFERENCES Course(Cno)
);
3.修改基本表
n 在Student表中增加“入学时间”列,数据类型为日期型
ALTER TABLE Student
ADD S_entrance DATETIME;
n 将年龄的数据类型由字符型改为整型,因SQL SERVER2000没有MODIFY功能,只能先删除再添加,即:
ALTER TABLE Student //先删除
DROP COLUMN Sage;
ALTER TABLE Student //再添加
ADD Sage INT;
n 在Student表中增加一个完整性约束定义,使年龄的取值只能在15到40之间
ALTER TABLE Student
ADD CHECK(Sage BetWEEN 15 AND 40);
4.建立索引
为学生-课程数据库中的Student、Course、SC三个表建立索引。其中Student表按学号升序建唯一索引,Course表按课程号升序建唯一索引,SC表按学号升序和课程号降序建唯一索引。
CREATE UNIQUE INDEX Stusno ON Student(Sno) ;
CREATE UNIQUE INDEX Coucno ON Course(Cno) ;
CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC) ;
5.取消索引
取消按步骤4建立的索引。
DROP INDEX Student.Stusno;
DROP INDEX Course.Coucno ;
DROP INDEX SC.SCno ;
数据更新语言的使用
一、目的:
通过本实验熟悉数据库的数据更新操作,加深SQL语言中对数据库进行数据插入、更新、删除操作的理解。
二、内容:
使用SQL Server2000软件,练习SQL语言中的插入、更新、删除命令。
三、要求:
使用数据插入语句INSERT INTO向实验一所建立的基本表中输入若干数据,然后再通过UPDATE或DELETE语句对已经插入的数据进行更新或删除,每执行一次操作都将通过查询命令SELECT语句查看数据变化。
四、步骤:
1.插入内容
学生表:Student
Sno Sname Ssex Sage Sdept
200215121 李勇 男 19 CS
200215122 刘晨 男 20 CS
200215123 王敏 女 20 MA
200215125 张立 男 22 IS
课程表:Course
Cno Cname Cpno Ccredit
1 数据库 5 4
2 数学 2
3 信息系统 1 4
4 操作系统 6 3
5 数据结构 7 4
6 数据处理 2
7 PASCAL语言 6 4
学生选课表:SC
Sno Cno Grade
200215121 1 92
200215121 2 85
200215121 3 88
200215122 2 90
200215122 3 80
2.插入数据
使用insert语句将给定数据分别插入上述基本表中:
INSERT INTO Student VALUES('200215121','李勇','男' ,19,'CS');
INSERT INTO Student VALUES('200215122','刘晨','男' ,20,'CS');
INSERT INTO Student VALUES('200215123','王敏','女' ,20,'MA');
INSERT INTO Student VALUES('200215124','王敏乙','女' ,20,'MA');
【注意】:用SELECT命令观察结果。
INSERT INTO Course VALUES(‘2’,’数学’, ,2);
INSERT INTO Course VALUES(‘6’,’数据处理’, ,2);
INSERT INTO Course VALUES(‘4’,‘操作系统’,’6’ ,3);
INSERT INTO Course VALUES(‘7’,’PASCAL语言’,’6’ ,4);
INSERT INTO Course VALUES(‘5’,’数据结构’,’7’ ,4);
INSERT INTO Course VALUES(‘1’,’数据库’,’5’ ,4);
INSERT INTO Course VALUES(‘3’,’信息系统’,’1’ ,4);
先按课程号顺序向Course表中插入记录,再按上述顺序向Course表插入记录,体会两者的不同,并用SELECT命令观察结果。
INSERT INTO SC(Sno,Cno) VALUES(‘200215121’,’1’);
INSERT INTO SC(Sno,Cno,Grade) VALUES(‘200215121’,’2’,85);
INSERT INTO SC VALUES(‘200215121’,’3’,88);
INSERT INTO SC VALUES(‘200215122’,’2’,90);
INSERT INTO SC VALUES(‘200215122’,’3’,80);
3.修改数据
给学号为200215121学生录入课程号为1(数据库)的成绩。
UPDATE SC
SET Grade = 92
WHERE Sno=‘200215121’ and Cno = ‘1’;
4.删除数据
删除学号为200215124的学生记录。
DELETE
FROM Student
WHERE Sno=‘200215124’;
展开阅读全文