mysql 数据库操作的一些实例

(1)show databases;查看(当前用户可访问的)数据库

(2)use smpdb; show  tables;//查看所选数据库的所有表

(3)select Host,User,Password from User;//查看用户列表信息

(4)添加用户,并指定权限

grant select, insert, update, delete on htrzdb.* to test1@localhost identified by 'mypsw'

解释:添加用户test1,指定访问途径localhost,密码mypsw,能够对数据库htrzdb的所有表执行查询,添加,更新,删除操作

显示数据库平台版本 mysql>status


注:如果mysql的第三方图形客户端phpadmin无法访问,可能是因为你改了myslq的登陆密码,但是在phpAdmin的配置文件config.inc.php中没有同步更新

(3)字段操作

增加一个字段
alter table serviceinfo_tbl add column start_date date comment '派工日期';
批量添加字段
alter table serviceinfo_tbl add(
`start_date` date NOT NULL,
  `telephone` varchar(50) NOT NULL
);

修改字段类型(注释、是否允许not null、字段类型)
alter table serviceinfo_tbl modify start_date date not null comment '开始日期';
修改字段名
alter table serviceinfo_tbl change telephone1 telephone varchar(50) not null comment '联系电话';
更改字段的字符集

alter table account_tbl change myuser myuser varchar(50) character set utf8;


更新字段的值

update mysql.user set password=PASSWORD('111111') where user='root';//把root用户的密码改为111111

update account_tbl set level=level+0x00300000 where id >= 2 and id <= 4;

删除字段
alter table testinfo_tbl drop column disqualification_info;

(4)表操作

查看数据表的结构

//概要查询

desc account_tbl;

//详细查询。包含注释,字符集等信息

set names utf8;//设置字符集,避免中文乱码

show create table account_tbl;//假设account_tbl是smpdb的一个表

设置表的字符集

alter table account_tbl character set utf8;

转换表和内含字段的字符集

alter table account_tbl convert to character set utf8;
创建表
  create table resign_proce_tbl 
  (
  `id` int(4) NOT NULL,
  `ypdj_id` int(4) NOT NULL COMMENT '应聘登记id',
  `rzdj_id` int(4) NOT NULL COMMENT '入职登记id',
  `file_code` varchar(20) NOT NULL COMMENT '档案编号',
  `resign_reason` int(4) NOT NULL COMMENT '离职原因 
  1薪金太低 
  2工作环境太差
  3休息日太少
  4健康因素
  5福利太少
  6没有晋升机会
  7工作量太大
  8经常加班
  9与人关系不和
  10伙食太差
  11其他',
  `resign_reason_content` varchar(100) NOT NULL COMMENT '离职原因说明',
  `dept_manager_view` varchar(50) NOT NULL COMMENT '部门经理意见',
  `proj_manager_view` varchar(50) NOT NULL COMMENT '分公司(项目经理)意见',


  `dept_work` varchar(100) NOT NULL COMMENT '部门工作交接',
  `dept_work_person_in_charge` varchar(10) NOT NULL COMMENT '负责人签字',
  `dept_work_note` varchar(100) NOT NULL COMMENT '备注',
  `labour_protect` varchar(100) NOT NULL COMMENT '劳保用品交接',
  `labour_protect_person_in_charge` varchar(10) NOT NULL COMMENT '负责人签字',
  `labour_protect_note` varchar(100) NOT NULL COMMENT '备注',
  `office` varchar(100) NOT NULL COMMENT '办公室交接',
  `office_person_in_charge` varchar(10) NOT NULL COMMENT '负责人签字',
  `office_note` varchar(100) NOT NULL COMMENT '备注',
  `doc_social` varchar(100) NOT NULL COMMENT '个人档案/社保办理',
  `doc_social_person_in_charge` varchar(10) NOT NULL COMMENT '负责人签字',
  `doc_social_note` varchar(100) NOT NULL COMMENT '备注',
  `financial_dept` varchar(100) NOT NULL COMMENT '财务部(借款、社保扣费等)',
  `financial_dept_person_in_charge` varchar(10) NOT NULL COMMENT '负责人签字',
  `financial_dept_note` varchar(100) NOT NULL COMMENT '备注',
  `other` varchar(100) NOT NULL COMMENT '其他',
  `other_person_in_charge` varchar(10) NOT NULL COMMENT '负责人签字',
  `other_note` varchar(100) NOT NULL COMMENT '备注',
  `hr_view` varchar(100) NOT NULL COMMENT '人力资源部经理意见',
  `ceo_view` varchar(100) NOT NULL COMMENT '董事长/总经理意见',
 
  primary key (`id`),
  constraint foreign key (`ypdj_id`) references `ypdj_tbl` (`id`),
  constraint foreign key (`rzdj_id`) references `rzdj_tbl` (`id`)


  )engine=innodb default charset=utf8 comment '员工离职手续表
  注:姓名,性别由ypdj_tbl提供,
  入职日期,所在部门、职位由入职登记表rzdj_tbl'

清空表

delete from sereng_tbl;//保留日志,可恢复

truncate table sereng_tbl;//速度快

删除表

drop table  sereng_tbl

复制表

create table tnew as select * from told


批量插入
INSERT INTO sereng_tbl (id,name) VALUES (1,'张*'), (2,'孙**')
删除一条记录
delete from tester_tbl where id = 3;
更改表的字符集

alter table testinfo_tbl default character set utf8;


添加外键约束 alter table ypdj_work_tbl add constraint  `ypdj_work_tbl_tbl_ibfk_1` foreign key (`ypdj_id`) references ypdj_tbl (`id`) ;

删除外键约束 alter table ypdj_work_tbl drop foreign key `ypdj_work_tbl_tbl_ibfk_1`;


设置主键 alter table t1 add primary key(id)

删除主键 alter table t1 add primary key


if语句的使用

SELECT   
    NAME,  
    CASE SEX  
        WHEN 1 THEN '男' 
        ELSE '女' 
    END AS SEX,  
    BIRTHDAY  
FROM USER; 


(5)数据库操作
备份与还原数据库

mysqldump -u root -p smpdb>~/smpdb.sql;//输出文件到用户目录下(~)

//导入(或者称为还原),必须分为两行写,如下:

mysql> use smpdb; 

mysql>source ~/smpdb.sql //源文件在用户目录下(~);如果是windows环境,则需要注意用户目录


创建数据库
create database smpdb default character set utf8 default collate utf8_general_ci;//collate用于字段排序
删除数据库
drop database smpdb;

查看数据库的结构

show create database smpdb;

设置字符集

alter database smpdb character set utf8;

导入

source ~/desktop/cursors.sql;

(6)权限操作

管理员权限

grant all on *.* to fred identified by 'fred123'

//注:fred用户名,fred123密码

一般的web站点权限

grant select, insert,delete, update, alter, create, drop, index on smpdb.*  to php_link1 identified by 'pk123'

//注:前面的八个字段表示对数据库smpdb的权限权限 php_link1用户名  pk123密码

//新增用户权限时,如果用户不存在,默认新建该用户;否则,把新增权限叠加至原来的权限上

//新增用户默认是通过远程访问数据库【即mysql.user.host字段的值是%】。可义使用update语句设置host的值为localhost,从而可以本地访问,

//以便更好的作为web程序的数据库访问帐号

收回用户权限

revoke all on *.* from fred;

revoke all on smpdb.* from php_link1;

收回用户的部分权限

revoke index,create on smpdb.* from php_link1;

//收回权限不会删除该用户

查看用户权限

show grants for php_link1;


启动与停止

windows(winXP环境)下  

net start mysql

net stop mysql

linux(RedLinux测试环境)下

service mysqld start

service mysqld stop

service mysqld restart


注意点:(1)php文件中的数据库操作语句中间不要使用tab键代替空格,否则可能引起问题。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值