(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;
转换表和内含字段的字符集
创建表
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键代替空格,否则可能引起问题。