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

【摘要】 数据库MySql基础篇
1.函数的分类?经常使用的函数有哪些?
lower upper substr length trim(去首尾空格,不会去除中间的空格) str_to_date(%Y-%m-%d) date_format format(保留小数) round rand()随机数 ifnull(如果为空,则替换为0) 聚合函数/分组函数 分组函数自动忽略空值 c…

数据库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;

  
 

文章来源: blog.csdn.net,作者:微软MVP Eleven,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/zhaoxi2020/article/details/116833632

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享