一、1.登录数据库系统mysql –h localhost –u root -p2.查看已存在的数据库SHOW DATABASES;3.查看默认存储引擎SHOW VARIABLES LIKE 'storage_engine';4.创建数据库CREATE DATABASE school;5.删除数据库DROP DATABASE school;二、(1)登录数据库mysql -h localhost -u root -p(2)查看数据库系统中已存在的数据库,代码如下:SHOW DATABASES;(3)查看该数据库系统支持的存储引擎的类型,代码如下:SHOW ENGINES;(4)创建student数据库和teacher数据库。
CREATE DATABASE student;CREATE DATABASE teacher;(5)再次查看数据库系统中已经存在的数据库,确保student和teacher数据库已经存在,代码如下:SHOW DATABASES;(6)删除teacher数据库,代码如下:DROP DATABASE teacher ;(7)再次查看数据库系统中已经存在的数据库,确保teacher数据库已经删除。
SHOW DATABASES;三、1.登录数据库系统mysql –h localhost –u root -p2.选择example数据库查看数据库的代码SHOW DATABASES;选择example数据库的代码USE example;3.创建student表和grade表创建student表的代码CREATE TABLE student(num INT(10) NOT NULL UNIQUE PRIMARY KEY ,name VARCHAR(20) NOT NULL ,sex VARCHAR(4) NOT NULL ,birthday DATETIME ,address VARCHAR(50));创建grade表的代码CREATE TABLE grade(id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,course VARCHAR(10) NOT NULL ,s_num INT(10) NOT NULL ,grade VARCHAR(4),CONSTRAINT grade_fk FOREIGN KEY (s_num)REFERENCES student(num));4.将grade表的course字段的数据类型改为VARCHAR(20),代码如下:ALTER TABLE grade MODIFY course VARCHAR(20);5.将s_num字段的位置改到course字段的前面,代码如下:ALTER TABLE grade MODIFY s_num INT(10) AFTER id; 6.将grade字段改名为scoreALTER TABLE grade CHANGE grade score VARCHAR(4); 7.删除grade表的外键约束DROP TABLE grade ENGINE=MyISAM;8.将grade表的存储引擎更改为MyISAM类型ALTER TABLE grade ENGINE=MyISAM;9.将student表的address字段删除ALTER TABLE student DROP address;10.在student表中增加名为phone的字段ALTER TABLE student ADD phone INT(10);11.将grade表改名为gradeInfoALTER TABLE grade RENAME gradeInfo;12.删除student表DROP TABLE student;四1.操作teacher表(1)首先创建数据库school,代码如下:CREATE DATABASE school;(2)创建teacher表,代码如下:CREATE TABLE teacher(id INT(4) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT, num INT(10) NOT NULL UNIQUE ,name VARCHAR(20) NOT NULL ,sex VARCHAR(4) NOT NULL ,birthday DATETIME ,address VARCHAR(50));(3)将teacher表的name字段的数据类型改为VARCHAR(30),代码如下:ALTER TABLE teacher MODIFY name VARCHAR(30) NOT NULL;(4)将birthday字段的位置改到sex字段的前面,代码如下:ALTER TABLE teacher MODIFY birthday DATETIME AFTER name; (5)将num字段改名为t_id,代码如下:ALTER TABLE teacher CHANGE num t_id INT(10) NOT NULL; (6)将teacher表的address字段删除,代码如下:ALTER TABLE teacher DROP address;(7)在teacher表中增加名为wages的字段,数据类型为FLOAT,代码如下:ALTER TABLE teacher ADD wages FLOAT;(8)将teacher表改名为teacherInfo,代码如下:ALTER TABLE teacher RENAME teacherInfo;(9)将teacher表的存储引擎更改为MyISAM类型,代码如下:ALTER TABLE teacherInfo ENGINE=MyISAM;2.操作department表和worker表(1)创建department表,代码如下:CREATE TABLE department(d_id INT(4) NOT NULL UNIQUE PRIMARY KEY ,d_name VARCHAR(20) NOT NULL UNIQUE ,function VARCHAR(50) ,address VARCHAR(50));(2)创建worker表,代码如下:CREATE TABLE worker (id INT(4) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT, num INT(10) NOT NULL UNIQUE ,d_id INT(4) ,name VARCHAR(20) NOT NULL ,sex VARCHAR(4) NOT NULL ,birthday DATE ,address VARCHAR(50) ,CONSTRAINT worker_fk FOREIGN KEY (d_id)REFERENCES department (d_id));(3)删除department表,代码如下:DROP TABLE department;4)删除worker表的外键约束,代码如下:ALTER TABLE worker DROP FOREIGN KEY worker_fk;(5)重新删除department表,代码如下:DROP TABLE department;五、1.登录数据库系统并创建job数据库登录MySQL数据库的命令如下:mysql –h localhost –u root -p创建job数据库的代码如下:CREATE DATABASE job;2.创建user表选择job数据库的代码如下:USE job;创建user表的代码如下:CREATE TABLE user(userid INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT , username VARCHAR(20) NOT NULL ,passwd VARCHAR(20) NOT NULL ,info TEXT ,UNIQUE INDEX index_uid ( userid DESC ) ,INDEX index_user ( username, passwd ) ,FULLTEXT INDEX index_info( info ))ENGINE=MyISAM;查看user表的结构的代码如下:SHOW CREATE TABLE user \G3.创建information表创建information表的代码如下:CREATE TABLE information (id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20) NOT NULL ,sex VARCHAR(4) NOT NULL ,birthday DATE ,address VARCHAR(50) ,tel VARCHAR(20) ,pic BLOB);查看information表的结构的代码如下:SHOW CREATE TABLE information \G4.在name字段创建名为index_name的索引CREATE INDEX index_name ON information( name(10) );5.创建名为index_bir的多列索引CREATE INDEX index_bir ON information(birthday, address );6.用ALTER TABLE语句创建名为index_id的惟一性索引ALTER TABLE information ADD INDEX index_id( id ASC );7.删除user表上的index_user索引删除index_user索引的代码如下:DROP INDEX index_user ON user;查看user表的结构的代码如下:SHOW CREATE TABLE user \G8.删除information表上的index_name索引删除index_name索引的代码如下:DROP INDEX index_name ON information;查看information表的结构的语句如下:SHOW CREATE TABLE information \G六、(1)创建workInfo表CREATE TABLE workInfo (id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20) NOT NULL ,type VARCHAR(10) ,address VARCHAR(50) ,tel VARCHAR(20) ,wages INT ,contents TINYTEXT ,extra TEXT ,UNIQUE INDEX index_id (id DESC));(2)使用CREATE INDEX语句为name字段创建长度为10的索引index_name,代码如下:CREATE INDEX index_name ON workInfo( name(10) );(3)使用ALTER TABLE语句在type和address上创建名为index_t的索引,代码如下:ALTER TABLE workInfo ADD INDEX index_t( type, address );(4)使用ALTER TABLE语句将workInfo表的存储引擎更改为MyISAM类型,代码如下:ALTER TABLE workInfo ENGINE=MyISAM;(5)使用ALTER TABLE语句在extra字段上创建名为index_ext的全文索引,代码如下:ALTER TABLE workInfo ADD FULLTEXT INDEX index_ext (extra );(6)使用DROP语句删除workInfo表的惟一性索引index_id,代码如下:DROP INDEX index_id ON workInfo ;七、1.在test数据库中work_info表选择test数据库的代码如下:USE test;创建work_info表的代码如下:CREATE TABLE work_info (id INT(10) NOT NULL UNIQUE PRIMARY KEY ,name VARCHAR(20) NOT NULL ,sex VARCHAR(4) NOT NULL ,age INT(5),address VARCHAR(50) ,tel VARCHAR(20));2.插入记录INSERT INTO work_info VALUES( 1,'张三', 'M',18,'北京市海淀区','1234567'); INSERT INTO work_info VALUES( 2,'李四', 'M', 22,'北京市昌平区','2345678'); INSERT INTO work_info VALUES( 3,'王五', 'F', 17,'湖南省永州市','3456789'); INSERT INTO work_info VALUES( 4,'赵六', 'F', 25,'辽宁省阜新市','4567890');3.创建视图info_viewCREATE ALGORITHM=MERGE VIEWinfo_view ( id,name, sex, address )AS SELECT id,name, sex, addressFROM work_info WHERE age>20WITH LOCAL CHECK OPTION;4.查看视图info_view的基本结构和详细结构查看基本结构的代码如下:DESC info_view;查看详细结构的代码如下:SHOW CREATE VIEW info_view \G5.查看视图info_view的所有记录SELECT * FROM info_view;6.修改视图info_viewALTER ALGORITHM=MERGE VIEWinfo_view ( id,name, sex, address )AS SELECT id,name, sex, addressFROM work_info WHERE age<20WITH LOCAL CHECK OPTION;7.更新视图UPDATE info_view SET sex='M' WHERE id=3;8.删除视图DROP VIEW info_view;八、(1)在example数据库下创建college表。