您的位置:首页 > 数据库 > MySQL

【初学菜鸟作-MySQL数据库表的基本操作与权限管理】*首页贴^_^*

2014-07-02 23:08 417 查看
表基本操作练习
1 复制用户信息表user的所有记录到userdb表里。
mysql> create table userdb select * fromuser;

2 查看userdb表的表结构
mysql> desc userdb;

3 删除userdb表的所有记录
mysql> delete from userdb

4 把name字段设置为index字段
mysql> create index name on userdb(name)

5 添加编号字段id 在所有字段上方,用来存储记录的编号。
alter table userdb add id int(4) not nullprimary key auto_increment first;

6 把/etc/passwd文件的内容导入userdb表里。
load data infile ‘/etc/passwd’ into tableuesrdb
fields terminated by ':'
lines terminated by '\n'

7 修改uid的字段名sex 类型为 enum 且字段值只能是gril 或boy
mysql> alter table userdb change uid sexenum("b","g")not null;修改内有数据不可修改
mysql> alter table userdb drop des;
mysql> alter table userdb add sex enum("b","g")not null after gid;

8 把gid 在100到500间用户的家目录修改为/root
mysql> update userdb sethome="/root" where gid between100 and 500;

9 把用户是 root bin sync 用户的shell 修改为 /sbin/nologin
mysql> update userdb setshell="/sbin/nologin" where name in("root","bin","sync");
mysql> select * from userdb where namein("root","bin","sync");

10 查看 gid 小于10的用户 都使用那些shell
mysql> select * from userdb where gid<10 group by shell;

12 删除 名字名字以字母d开头的用户。
mysql> delete from userdb where nameregexp "^d";

13 查询 gid 最大的前5个用户 使用的 shell
mysql> select shell from userdb order bygid desc limit 5;

14 查看那些用户没有家目录
mysql> select name from userdb where homeis null;

15 把gid号最小的前5个用户信息保存到/mybak/min5.txt文件里。
mysql> select * from userdb order by giddesc limit 5 into outfile '/123654/we.txt' fields terminated by ':';
16 把自己用来登陆系统的用户信息添加到userdb表里
insert into userdbvalues("yeyue","x","888","999","b","/yeyue","/bin/sbin");
mysql> select * from userdb where name="yeyue";

17 删除表中的 des字段
mysql> alter table userdb drop des

18 设置表中所有字段值不允许为空
mysql> alter table userdb modify homevarchar(50) not null;

19 删除root 用户家目录字段的值
mysql> update userdb set home=null wherename="root"; null带引号将是字符录入

20 显示 gid 大于500的用户的用户名家目录和使用的shell
mysql> select name,home,shell from userdbwhere gid>500;

21 删除uid大于100的用户记录
mysql> delete from userdb whereuid>100;

22 显示uid号在10到30区间的用户有多少个。
mysql> select * from userdb whereuid<30 and uid>10;

23 显示uid号是100以内的用户使用shell的类型。
mysql> select * from userdb whereuid<100 group by shell;

24 显示uid号最小的前10个用户的信息。
mysql> select * from userdb order by uidlimit 10;

25 显示表中第10条到第15条记录
mysql> select * from userdb order by namelimit 9,6;

26 显示uid号小于50且名字里有字母a 用户的详细信息
mysql> select * from userdb where name like "%a%" anduid<50;

27 只显示用户 root bin daemon 3个用户的详细信息。
mysql> select * from userdb wherename="root" or name="bin" or name="daemon";

28 显示除root用户之外所有用户的详细信息。
mysql> select * from userdb where name notlike "root";
mysql> select * from userdb wherename!="root";

29 统计username 字段有多少条记 录
mysql> select count(name) from userdb;

30 显示名字里有字母c 用户的详细信息
mysql> select * from userdb where namelike "%c%";

二.用户授权练习
0、设置数据库管理员的密码为999
[root@yeyue ~]# mysqladmin -hlocalhost-uroot -p password "tarena"
Enter password:
1、查看当前登陆数据库服务器的用户是谁?
mysql> select user();
2、查看当前登陆数据库服务器用户的权限?
mysql> show grants ;
3、查看当前数据库服务器有哪些授权用户。
mysql> select user from mysql.user;
5、授权数据库管理员可以在192.168.1.0/24网段内的所有主机访问数据库服务器的所有库,对所有库有完全权限且有授权的权限、登陆密码tarena。
mysql> grant all on *.* toroot@"192.168.1.%" identified by "123" with grant option;
6、不允许roo在数据库服务器上通过192.168.1.0登录。
mysql> revoke all on *.* fromroo@”192.168.1.%“;
7、授权userweb用户可以从网络中的任意主机访问数据库服务器,对webdb中的regtab表有查看、更新name字段和age字段的权限密码userweb888。
mysql> grant select,update(name,age) onwebdb.regtab to userweb@"%" identified by "userweb888";
8、验证以上授权是否成功
8.1 授权用户userweb 重置自己的登陆密码为123456,并验证能否使用新密码 登陆

8.2 数据库管理员修改授权用户userweb的密码为654321,使用新密码能否登 陆数据库服务器

9、撤销以上用户的所有授权并删除授权用户。
mysql> revoke all on *.* from roo@”l; mysql> delete user wherename="roo";
10、只允许数据库管理员从数据库服务器本机登录且有授权的权限。
mysql> grant all on *.* toroot@"localhost identified by "123" with grant option;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: