《PHP+MySQL网站开发技术 项目式 教学课件 ppt 作者 唐俊 2.2 诚信管理论坛数据库实现》由会员分享,可在线阅读,更多相关《PHP+MySQL网站开发技术 项目式 教学课件 ppt 作者 唐俊 2.2 诚信管理论坛数据库实现(38页珍藏版)》请在金锄头文库上搜索。
1、诚信管理论坛数据库实现,PHP程序设计,诚信管理论坛数据库设计,创建项目数据库 创建项目数据表 创建数据约束,本节主要内容:,任务:,请根据诚信管理论坛的需求,完成以下任务 (1)完成诚信管理论坛的数据库创建; (2)完成诚信管理论坛的数据表创建; (3)完成诚信管理论坛的数据表约束的创建;,创建项目数据库,数据库是存储数据对象的容器,对数据库的操作包括: 查看数据库:显示系统中的全部数据库; 创建数据库:创建一个新的数据库; 使用数据库:切换默认数据库; 修改数据库:修改数据库的参数; 删除数据库:删除一个数据库;,创建项目数据库,查看数据库:显示系统中的全部数据库;,SHOW DATABA
2、SES | SCHEMAS LIKE pattern | WHERE expr ;,示例2.2.1 显示当前系统中的全部数据库。,打开MySQL控制台,输入MySQL用户密码,筛选:SHOW DATABASES LIKE %m%;,创建项目数据库,创建数据库,CREATE DATABASE | SCHEMA IF NOT EXISTS db_name create_specification , create_specification . 其中 create_specification: DEFAULT CHARACTER SET charset_name | DEFAULT COLLATE
3、 collation_name,db_name: 数据库名,IF NOT EXISTS:在建数据库前进行判断,只有该数据库目前尚不存在时才执行 CREATE DATABASE 操作,DEFAULT:指定默认值。 CHARACTER SET:指定数据库字符集(Charset) ,charset_name 为字符集名称 COLLATE:指定字符集的校对规则,collation_name 为校对规则名称,创建项目数据库,创建数据库 示例2.2.2 创建诚信论坛系统数据库CXBBS。,创建项目数据库,使用数据库,USE db_name;,示例2.2.3 使用诚信论坛系统数据库CXBBS。,查看默认数据
4、库,将CXBBS设为默认数据库,SELECT DATABASE();/查看默认数据库,创建项目数据库,使用数据库,USE db_name;,示例2.2.3 使用诚信论坛系统数据库CXBBS。,查看默认数据库,将CXBBS设为默认数据库,SELECT DATABASE();/查看默认数据库,创建项目数据库,修改数据库,ALTER DATABASE | SCHEMA db_name alter_specification , alter_specification . 其中 alter_specification: DEFAULT CHARACTER SET charset_name | DEFA
5、ULT COLLATE collation_name,示例2.2.4 修改诚信论坛系统数据库CXBBS的默认字符集和校对规则。,ALTER DATABASE cxbbs DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;,创建项目数据库,删除数据库,DROP DATABASE IF EXISTS db_name,db_name: 数据库名,IF EXISTS:在删除数据库前进行判断,只有该数据库存在时才执行 DROP DATABASE 操作,创建项目数据表,数据表是数据库存放数据的数据对象,对数据表的操作包括: 查看数据表:显
6、示默认数据库中的全部数据表; 创建数据表:创建一个新的数据表; 修改数据表: 更改数据表的结构 重命名数据表:修改数据表的名字; 删除数据表:删除一个数据表及其全部数据;,创建项目数据表,查看数据表,SHOW FULL TABLES FROM | IN db_name LIKE pattern | WHERE expr ;,查看数据表的具体信息,DESCRIBE | DESC tbl_name col_name | wild,创建项目数据表,数据类型-1,整数类型,创建项目数据表,数据类型-2,浮点类型,创建项目数据表,数据类型-3,日期时间型,创建项目数据表,数据类型-4,字符串型,创建项目
7、数据表,创建数据表,CREATE TEMPORARY TABLE IF NOT EXISTS tbl_name ( column_definition , . | index_definition ) table_option select_statement;,TEMPORARY:该关键字表示用 CREATE 命令新建的表为临时表,IF NOT EXISTS:在建表前加上一个判断,只有该表目前尚不存在时才执行 CREATE TABLE 操作,table_name:要创建的表的表名,column_definition:列定义,包括列名、数据类型,空值声明和完整性约束。,index_defini
8、tion:表索引项定义,主要定义表的索引、主键、外键等,table_option:用于描述表的选项。,select_statement:可以在 CREATE TABLE 语句的末尾添加一个 SELECT 语句,在现有表的基础上创建表。,创建项目数据表,示例2.2.5 创建诚信论坛系统数据库中的用户表。,CREATE TABLE tbl_user ( uId int(11), uName varchar(20) , uPass varchar(20) , head varchar(50) , regTime timestamp , gender smallint(6) ) ;,创建项目数据表,列
9、定义,col_name type NOT NULL | NULL DEFAULT default_value AUTO_INCREMENT UNIQUE KEY | PRIMARY KEY COMMENT string reference_definition,col_name:表中列的名字,type:列的数据类型,AUTO_INCREMENT:设置自增属性,NOT NULL | NULL:指定该列是否允许为空。如果不指定,则默认为 NULL,DEFAULT default_value:为列指定默认值,UNIQUE KEY | PRIMARY KEY: PRIMARY KEY 和UNIQUE
10、KEY都表示字段中的值是唯一的。PRIMARY KEY 表示设置为主键,一个表只能定义一个主键,主键一定要为 NOT NULL,COMMENT string:对于列的描述,string 是描述的内容。,CREATE TABLE tbl_user ( uId int(11) NOT NULL AUTO_INCREMENT, uName varchar(20) NOT NULL, uPass varchar(20) NOT NULL, head varchar(50) NOT NULL, regTime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, g
11、ender smallint(6) NOT NULL, PRIMARY KEY (uId) );,创建项目数据表,表选项,ENGINE | TYPE = engine_name /*存储引擎*/ | AUTO_INCREMENT = value /*初始值*/ | DEFAULT CHARACTER SET charset_name COLLATE collation_name /*默认字符集*/ ,MyISAM与InnoDB的简单比较,创建项目数据表,示例2.2.5的最终代码,CREATE TABLE tbl_user ( uId int(11) NOT NULL AUTO_INCREMEN
12、T, uName varchar(20) NOT NULL, uPass varchar(20) NOT NULL, head varchar(50) NOT NULL, regTime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, gender smallint(6) NOT NULL, PRIMARY KEY (uId) ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;,创建项目数据表,修改数据表,ALTER IGNORE TABLE tbl_name alter_specificat
13、ion , alter_specification .,ADD COLUMN column_definition FIRST | AFTER col_name /*添加列*/ | ALTER COLUMN col_name SET DEFAULT literal | DROP DEFAULT /*修改默认值*/ | CHANGE COLUMN old_col_name column_definition /*对列重命名*/ FIRST|AFTER col_name | MODIFY COLUMN column_definition FIRST | AFTER col_name /*修改列类型*
14、/ | DROP COLUMN col_name /*删除列*/ | RENAME TO new_tbl_name /*重命名该表*/ . | table_options | 列或表中索引项的增、删、改,创建项目数据表,向表中增加新列:如在表 tbl_user中增加列mail_addr,ALTER TABLE tbl_user ADD COLUMN mail_addr varchar(100) ;,修改列的名称,如将email列的名称变更为mail_addr,ALTER TABLE tbl_user CHANGE COLUMN mail_addr email varchar(100) ;,修改
15、列的数据类型,如将email列的类型改为varchar(160),ALTER TABLE tbl_user MODIFY email varchar(160);,从表中删除列或约束,如删除email列,ALTER TABLE tbl_user DROP email ;,修改该表的表名,如将tbl_user改为user,ALTER TABLE tbl_user RENAME TO user;,创建项目数据表,示例2.2.6 将示例2.2.5所建表的UID列设为自动增长列,ALTER TABLE tbl_user MODIFY COLUMN uid int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY;,创建项目数据表,重命名数据表,RENAME TABLE tbl_name TO new_tbl_name,tbl_name:待修改的表名。,new_tbl_name:修改后的表名,删除数据表,DROP TEMPORARY TABLE IF EXISTS tbl_name , tbl_name .,tb1_name:待删除的表名。,IF EXISTS:判断表是否存在,创建项目数据表,示例2.2.7 删除示例2.2.5所