欢迎投稿

今日深度:

mysql基本总结,mysql总结

mysql基本总结,mysql总结


创建数据库
creat table test(
#整数通常使用int
test_id int,
#小数通常使用decimal
test_price decimal,
#普通文本通常使用,并使用Default指定默认值
test_name varchar(255) default "Xxx",
#大文本类型使用test
test_desc text,
#图片使用blob
test_img blob,
#日期类型使用DateTime
test_date datetime,
);
-----------------------------------------------------------------
mysql 支持的列类型
1.tinyint,smallint,mediumint,int,bigint
2.float,double
3.decimal(dec)
4.date
5.time
6.datetime
7.timestamp
8.year
9.char
10.varchar
11.binary(定长的二进制字符串类型,以二进制形式保


存字符串)
12.varbinary
13.tinyblob,blob,mediumblob,longblob
14.tinytext,text,mediumtext,longtext
15.enum('value1','value2'...)//枚举类型(只能是其中


之一)
16.set('value1','value2'...)//集合类型(可以是其中几


个)
--------------------------------------------------------------------
#创建数据表,该数据表和user_info完全相同,数据


也完全相同
create table hehe
as
select * from user_info;
---------------------------------------------------------------------
#修改表的结构的语法
alert table 表名
add(
#可以定义多个列定义
colum_name datatype [default expr],
...
);
---------------------------------------------------------------------
#为hehe数据表增加一个hehe_id字段,该字段类型为


int


alter table hehe
add hehe_id int;
#为hehe数据包增加aaa,bbb字段,两个字段的类型都


为varchar(25)
alter table hehe
add aaa varchar(25),bbb varchar(25);
----------------------------------------------------------------------
#将hehe表的hehe_id列修改为varchar(255)类型
alter table hehe
modify hehe_id varchar(255);
#将hehe表的bbb列修改为int类型
alter table hehe
modify bbb int;
----------------------------------------------------------------------
#删除指定的列
alter table hehe
drop column_name
#重命名数据表
alter table hehe
rename to wawa;
----------------------------------------------------------------------
#将wawa表的字段bbb字段重命名为ddd
alter table wawa
change bbb ddd int;
#删除表
drop table 表名
----------------------------------------------------------------------
数据库约束
not null
unique
primary key
foreign key
check
#not null约束




数据库基本知识的总结 ?

9、设有关系模式R(E,F,G,H),函数依赖F={ E→G,G→E,F→(E,G),H→(E,G),
(F,H)→E}
(1)求出R的所有候选关键字;
(2)根据函数依赖关系,确定关系模式R属于第几范式;
(3)将R分解为3NF,并保持无损连接性和函数依赖保持性;
(4)求出F的最小函数依赖集。
参考答案:
(1)R的候选关键字为:(F,H)
(2)R为:1NF
(3)分解为:
({E,G},{E→G,G→E })、({F,E},{F→E})、({H,G},{H→G})、({F,H},{})
(4)最小函数依赖集为:{ E→G,G→E,F→G,H→G }
按定理4.3,求最小函数依赖集步骤:
F={E→G,G→E,F→(E,G),H→(E,G),(F,H)→E}
={E→G,G→E,F→G,H→E,H→G,(F,H)→E}
={E→G,G→E,F→G,H→G}
10、试问下列关系模式最高属于第几范式,并解释其原因。
(1)R(A,B,C,D),F={B→D,AB→C}。
(2)R(A,B,C,D,E),F={AB→CE,E→AB,C→D}。
(3)R(A,B,C,D),F={B→D,D→B,AB→C}。
(4)R(A,B,C),F={A→B,B→A,A→C}。
(5)R(A,B,C),F={ A→B,B→A,C→A }。
(6)R(A,B,C,D),F={A→C,D→B}。
(7)R(A,B,C,D),F={A→C,CD→B}。
参考答案:
只依次写出候选关键字与范式等级(范式按定义判定,具体略)
(1)AB 1NF
(2)AB,E 2NF
(3)AB,AD 3NF
(4)A,B BCNF
(5)C 2NF
(6)AD 1NF
(7)AD 1NF

二、填空题
1、对数据库的保护一般包括 安全性 、 完整性 、 并发控制 和 数据恢复 四个方面的内容。
2、对数据库 安全 性的保护就是指要采取措施,防止库中数据被非法访问、修改,甚至恶意破坏。
3、安全性控制的一般方法有 用户标识和鉴别 、 用户存取权限控制 、 视图机制 、
数据加密 和 审计 五种。
4、用户鉴定机制包括 用户标识定义 和 用户身份验证 两个部分。
5、每个数据均需指明其数据类型和取值范围,这是数据 完整性 约束所必需的。
6、在SQL中, COMMIT 语句用于提交事务, ROLLBACK 语句用于回滚事务。
7、加锁对象的大小被称为加锁的 粒度 。
8、对死锁的处理主要有两类方法,一是 预防死锁的发生 ,二是 检测死锁发现后予以消除死锁 。
9、解除死锁最常用的方法是 撤消一些陷入死锁的事务 。
10、基于日志的恢复方法需要使用两种冗余数据,即 后备数据库 和 日志文件 。

三、简单题
1、简述数据库保护的主要内容。
对数据库的保护一般包括4个方面的内容,一是对数据库完整性的保护,即保证库中的数据是正确的和相容的,符合完整性约束条件的;二是对数据库安全性的保护,即防止库中数据被非法访问、修改,甚至恶意破坏;三是对并发的事务进行控制,保证数据库的一致性;四是在发生故障后,对数据库进行恢复,尽量减少故障造成的损失。
2、什......余下全文>>
 

MySQL的基本命令

启动:net start mySql;
进入:mysql -u root -p/mysql -h localhost -u root -p databaseName;
列出数据库:show databases;
选择数据库:use databaseName;
列出表格:show tables;
显示表格列的属性:show columns from tableName;
建立数据库:source fileName.txt;
匹配字符:可以用通配符_代表任何一个字符,%代表任何字符串;
增加一个字段:alter table tabelName add column fieldName dateType;
增加多个字段:alter table tabelName add column fieldName1 dateType,add columns fieldName2 dateType;
多行命令输入:注意不能将单词断开;当插入或更改数据时,不能将字段的字符串展开到多行里,否则硬回车将被储存到数据中;
增加一个管理员帐户:grant all on *.* to user@localhost identified by "password";
每条语句输入完毕后要在末尾填加分号';',或者填加'\g'也可以;
查询时间:select now();
查询当前用户:select user();
查询数据库版本:select version();
查询当前使用的数据库:select database();

1、删除student_course数据库中的students数据表:
rm -f student_course/students.*

2、备份数据库:(将数据库test备份)
mysqldump -u root -p test>c:\test.txt
备份表格:(备份test数据库下的mytable表格)
mysqldump -u root -p test mytable>c:\test.txt
将备份数据导入到数据库:(导回test数据库)
mysql -u root -p test

3、创建临时表:(建立临时表zengchao)
create temporary table zengchao(name varchar(10));

4、创建表是先判断表是否存在
create table if not exists students(……);

5、从已经有的表中复制表的结构
create table table2 select * from table1 where 1<>1;

6、复制表
create table table2 select * from table1;

7、对表重新命名
alter table table1 rename as table2;

8、修改列的类型
alter table table1 modify id int unsigned;//修改列id的类型为int unsigned
alter table table1 change id sid int unsigned;//修改列id的名......余下全文>>
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/4097.html NewsArticle mysql基本总结,mysql总结 创建数据库 creat table test( #整数通常使用int test_id int, #小数通常使用decimal test_price decimal, #普通文本通常使用,并使用Default指定默认 test_name varchar(255) default Xxx...
评论暂时关闭