2021-05-15 MySql面试题 基础篇

数据库MySql基础篇

1.函数的分类?经常使用的函数有哪些?

lower
upper
substr
length
trim(去首尾空格,不会去除中间的空格)
str_to_date(%Y-%m-%d)
date_format
format(保留小数)
round
rand()随机数
ifnull(如果为空,则替换为0)
聚合函数/分组函数
分组函数自动忽略空值
count
sum
avg
min
max

2.分组查询需要注意条件?

如果使用了order by,order by 必须放到group by后面。
在sql语句中,select语句后面只能跟分组函数+参与分组的字段。
如果想要对分组数据再进行过滤需要使用having子句。

3.limit使用方法?

select * from emp limit m,n;

4.mysql常见数据类型?

char:定长字符串,适合做主键或者外键
varchar:可变长字符串
double/float
int/bigint
date

5.如何增加删除修改表结构

 alter table 表名 add 字段名 数据类型(长度) --添加字段
 alter table 表名 modify 字段名 数据类型(长度) --修改字段长度
 alter table 表名 change 原字段名 现在字段名 数据类型(长度) --修改字段名称
 alter table 表名 drop 字段名 --删除字段

6.如何开启MySQL服务,关闭My服务

开启服务:

service mysqld start

/init.d/mysqld start

safe_mysql &

关闭服务:

service mysqld stop

/etc/init.d/mysqld stop

mysqladmin -uroot -p123456 shutdown

7.检测端口是否运行

lsof -i:3306

netstat -tunlp|grep 3306

ss -tulnp|grep 3306

8.如何为MySQL设置密码或者修改密码。

方法一

mysqladmin -u root -p123456 password 'abc123'    #比较常用

方法二(sql语句修改)

update mysql.user set password=password(123456) where user='root' and host='localhost';

flush privileges;

方法三(sql语句修改)

set password=password('abc123');

9.如何登陆MySQL数据库。

单实例登陆

mysql -uroot -p123456

多实例登陆

mysql -uroot -p123456 -S /data/3306/mysql.sock

10.查看当前数据库的字符集

mysql> show variables like "%charac%";

11.如何查看当前数据库版本

# mysql -V
mysql> select version();

12.如何 查看当前登录的用户。

mysql> select user();

13.查看T1数据库中有哪儿些表

mysql> use T1;

mysql> show tables;

14.创建GBK字符集的数据库oldboy,并查看已建库完整语句

mysql> create database oldboy default character set gbk;
mysql> show create database oldboy;

15.创建用户oldboy,使之可以管理数据库oldboy

mysql> grant select,update,insert,delete,alter on oldboy.* to oldboy@'localhost' identified by '123456';

16.查看创建的用户oldboy拥有哪些权限

mysql> show grants for oldboy@'localhost';

17.查看当前数据库里有哪些用户

mysql> select user,host from mysql.user;

18.如何进入oldboy数据库

mysql> use oldboy();

19.请写一个脚本: 创建一个innodb GBK表test,字段id int(4)和name varchar(16)

mysql> create table test (id int(4),name varchar(16)) engine=InnoDB default charset=gbk;

20.查看建表结构及表结构的SQL语句

mysql> desc test;
mysql> show create table test\G

21.请使用脚本查询一条数据:插入一条数据“1,oldboy”

mysql> insert into test (id,name) values (1,'oldboy');

22.再批量插入2行数据 “2,老男孩”,“3,oldboyedu”

mysql> insert into test (id,name) values (2,'老男孩'),(3,'oldboyedu');

23.查询名字为oldboy的记录

mysql> select * from test where name='oldboy';

24.把数据id等于1的名字oldboy更改为oldgirl

mysql> update test set name='oldgirl' where id=1;

25.在字段name前插入age字段,类型tinyint(2)

mysql> alter table test add age tinyint(2) after id;

26.不退出数据库,完成备份oldboy数据库

mysql> system mysqldump -uroot -p123456 -B -x -F --events oldboy >/opt/bak.sql

27.删除test表中的所有数据,并查看

mysql> delete from test;
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值