Mysql练习

表基本操作练习题

1 复制user表的所有记录到teadb库的teacher表里

mysql> create table db1 select * from mysql.user;
只复制user表的表结构给新teadb库的tea2表
mysql> create table teadb.tea2 select mysql.user where 1=2;

2 查看teadb库的tea2表的表结构,并删除 id 字段

mysql> alter table teadb.tea2 drop id;

3 把/etc/passwd文件的内容保存到teadb库的tea2表里

mysql> load data infile "/var/lib/mysql-files/passwd" into table db3.usertab fields terminated by ':' lines terminated by '\n';

5 添加记录编号字段id 在所有字段上方,字段值可以自动增长。

mysql> alter table user add id int(3) primary key auto_increment first;

6 在name字段下方添加s_year字段 存放出生年份 默认值是1990

mysql> alter table user add s_year int(4) default "1990" after username;

7 在name字段下方添加字段名sex 字段值只能是gril 或boy 默认值是 boy

mysql> alter table user add sex enum("boy","gril") default "boy" after username; 

8 在sex字段下方添加 age字段 存放年龄 不允许输入负数。默认值 是 21

mysql> alter table user add age int(10) unsigned default "21" after sex;

9 把id字段值是10到50之间的用户的性别修改为 girl

mysql> update user set sex="gril" where id>=10 and id<=50;

10 统计性别是girl的用户有多少个。

mysql> select count(id) from user where sex='gril';

12 查看性别是girl用户里 uid号 最大的用户名 叫什么。

mysql> select username from user where uid=(select max(uid) from user);

13 添加一条新记录只给name、uid 字段赋值 值为rtestd 1000

添加一条新记录只给name、uid 字段赋值 值为rtest2d   2000
mysql> insert into user(username,uid) values("rtestd",1000),("rtest2d",2000);

14 显示uid 是四位数的用户的用户名和uid值。

mysql> select username,uid from user where uid regexp "^....$";

15 显示名字是以字母r 开头 且是以字母d结尾的用户名和uid。

mysql> select username,uid from user where username like "r%d";

**16 查看是否有 名字以字母a开头 并且是 以字母c结尾的用户。 **

select username,uid from user where username like "a%c";

8 把gid 在100到500间用户的家目录修改为/root

mysql> update user set homedir="/root" where gid between 100 and 500 ;

9 把用户是 root 、 bin 、 sync 用户的shell 修改为 /sbin/nologin

mysql> update user set shell="/sbin/nologin" where username="root" or username="bin" or username="sync";

10 查看 gid 小于10的用户 都使用那些shell

mysql> select shell from user where gid<10;

12 删除 名字以字母d开头的用户。

mysql> delete from user where username like "d%";

13 查询 gid 最大的前5个用户 使用的 shell

mysql> select shell from user where gid order by gid desc limit 5;

14 查看那些用户没有家目录

mysql> select username,homedir from user where homedir="/";

15 把gid号最小的前5个用户信息保存到/mybak/min5.txt文件里。

使用useradd 命令添加登录系统的用户 名为lucy 
mysql> select username from user where gid order by gid asc limit 5 into outfile "/mybak/min5.txt";
useradd lucy

**17 删除表中的 comment 字段 **

mysql> alter table user drop comment;

19 删除root 用户家目录字段的值

update user set homedir='' where username='root';

20 显示 gid 大于500的用户的用户名 家目录和使用的shell

mysql> select username,homedir,shell from user where gid>500;

21 删除uid大于100的用户记录

mysql> delete from user where  uid>100;

22 显示uid号在10到30区间的用户有多少个。

mysql> select count(*) from user where uid between 10 and 30;

23 显示uid号是100以内的用户使用shell的类型。

mysql> select shell from user where uid<=100;

24 显示uid号最小的前10个用户的信息。

mysql> select * from user where uid order by uid asc limit 10;

25 显示表中第10条到第15条记录

mysql> select * from user limit 10,5;

26 显示uid号小于50且名字里有字母a 用户的详细信息

mysql> select * from user where uid<50 and username like "%a%";

27 只显示用户 root bin daemon 3个用户的详细信息。

mysql> select * from user where username='root'  or username='bin' or username='daemon';

28 显示除root用户之外所有用户的详细信息。

mysql> select * from user where username!='root';

29 统计username 字段有多少条记录

mysql> select count(username) from user;

30 显示名字里含字母c 用户的详细信息

mysql> select * from user where username like "%c%";

31 在sex字段下方添加名为pay的字段,用来存储工资,默认值 是5000.00

mysql> alter table user add pay int default "5000.00" after sex;

32 把所有女孩的工资修改为10000

mysql> update user set pay=10000 where sex='gril';

33 把root用户的工资修改为30000

mysql> update user set pay=30000 where username="root";

34 查看所有用户的名字和工资

mysql> select username,pay from user;

35 查看工资字段的平均值

mysql> select avg(pay)as "平均值" from user;

36 查看工资字段值小于平均工资的用户 是谁。

查看女生里谁的uid号最大
mysql> select username,pay from user where pay<(select avg(pay) from user);
mysql> select username,uid from user where uid order by uid desc limit 1;

**38 查看bin用户的uid gid 字段的值 及 这2个字段相加的和 **

mysql> select username,uid,gid,uid+gid from user where username='bin';

39 把teacher表中前7条记录中如下字段的值保存到当前库下 userone表里

id 、 username 、 sex 
mysql> create table userone select id,username,sex from user limit 7;

40 把teacher表中前5条记录中如下字段的值保存到当前库下 usertwo表里

id 、 username 、 sex 、shell
mysql> create table userwo select id,username,sex,shell from user limit 5;

Mysql练习》有3个想法

发表评论