mysql数据库可以放pdb文件吗_MySQL数据库操作基础

查看表详细定义

Show create table tablename \G

*\G是为了美观

修改表名

Alter table oldtablename rename newtable

增加字段

在表最后添加字段:

Alter table tablename add 属性名属性类型

在表第一个位置增加字段:

Alter tabletablename add 属性名属性类型FIRST

在表指定字段后添加:

Alter table tablename add 属性名属性类型after 属性名

修改字段数据类型:

Alter tabletablename modify 属性名属性类型

修改字段名字:

Alter table tablename change 旧属性名新属性名 旧数据类型

同时修改字段的名字和属性:

Alter table tablename change 旧属性名新属性名 新数据类型

修改字段顺序:

Alter table tablename modify 属性名1数据类型FIRST|after属性名2

完整性约束:

关键字

含义

备注

Not null

非空

default

默认值

Uniquekey

值不可重复

Primary key

主键

联合主键:create table tablename {

属性名数据类型

CONSTRAINT约束名primarykey(属性名,属性名)

};

Auto_increment

自增长

Foreign key

外键

Create table tablename{

属性名 数据类型

CONSTRAINT外键名 foreign key(属性名)references 表名(属性名)

触发器

1.一条执行语句的触发器

Create triggertrigger_name

Before|Aftertrigger_event

ONtable_namefor each rowtrigger_stmt

Trigger_event:delete语句,insert语句,update语句

2.多条执行语句的触发器

Create triggertrigger_name

Before|Aftertrigger_event

ONtable_namefor each row

BEGIN

trigger_stmt

END

实例:

DELIMITER $$

Create trigger tri_diary

After insert

ON t_dept for each row

BEGIN

Insert into t_diary values(NULL,’an’,now());

Insert into t_diary values(NULL,’sn’,now());

END

$$

DELIMITER ;

多表数据查询

1.并:把具有相同字段数目和字段类型的表合并到一起

2.笛卡儿积:没有连接条件表关系返回的结果。笛卡儿积表字段数为表1+表2字段数,记录数为表1*表2记录数

3.内连接:表关系的笛卡儿积数据记录中,保留表关系中所有匹配的数据记录,舍弃不匹配的数据记录。

4.外连接:在表关系的笛卡儿积数据记录中,保留表关系中所有匹配的数据记录,而且还会保留部分不匹配的数据记录。

存储过程和函数

1.创建存储过程

Create procedureprocedure_name([procedure_paramter[,...]])

[characteristic...] routine_body

Procedure_paramter:存储过程的参数。[IN|OUT|INOUT]

Characteristic:存储过程的特性

2.创建函数语法

Create function function_name(function_paramter[,...])

[characteristic] routine_body

实例:

DELIMITER $$

Create function func_sal(empno INT(11))

Return double(10,2)

COMMENT‘查询某个员工工资’

BEGIIN

Return (select sal from t_employee where t_employee.empno=empno);

END$$

DELIMITER ;

数据库连接和用户操作

连接mysql服务器的完整dos命令如下:

Mysql –h hostname|hostip –p port –u username –p databasename –e sql语句

实例:通过root用户登陆到mysql服务器的数据库company中,具体命令如下:

Mysql –h 127.0.0.1 –u root –p company

创建普通用户账户2种方式:

Create user username identified by [password]

Create user “cjcong”@”localhost” identified by “123”;

Grant priv_type on databasename.tablename to username indetified by [password]

Grant select on company.dept to ‘cjcong’@’localhost’ identified by ‘123’;

对用户授权

Grant priv on database.datatable to user identified by ‘password’ with with-option

With-option值:grant option被授权的用户可以将权限授予其他用户。

查看用户所具有的权限:

Show grants for user

回收权限

Revoke priv on database.datatable from user identified by ‘password’

回收全部权限

Revoke all privileges,grant option from user identified by ‘password’

启动查询日志,修改my.ini文件

[mysqld]

Log [=dir\filename]

慢查询日志

[mysqld]

Log-slow-queries[=dir\filename]

Long_query_time=n

N为参照时间,默认10秒。

备份数据库

备份一个数据库

Mysqldump –u username –p dbname table1 table2 >backupname.sql

备份多个数据库

Mysqldump –uusername –p –databases dbname1 dbname2 >backupname.sql

备份所有数据库

Mysqldump –u username –p –all –databases >backupname.sql

数据还原

Mysqldump –u username –p [dbname] 

数据库中表导出成文本文件

Mysql –u root –ppassword –e “select file-name from tablename” dbname>file_name

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值