wolichuang / dailyInterview

面试、工作中遇到的issue
0 stars 0 forks source link

mysql #31

Open wolichuang opened 3 years ago

wolichuang commented 3 years ago

创建表

DROP TABLE IF EXISTS `admin_school`;
CREATE TABLE `admin_school` (
  `id` int(50) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) CHARACTER SET utf8 NOT NULL,
  `person` varchar(50) CHARACTER SET utf8 NOT NULL,
  `phone` varchar(50) DEFAULT NULL,
  `address` varchar(120) CHARACTER SET utf8 NOT NULL,
  `schoolid` varchar(10) CHARACTER SET utf8 NOT NULL,
  PRIMARY KEY (`id`),
  KEY `schoolid` (`schoolid`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8;

数据操作

select * from `admin_school` order by id desc; #全部
select * from `admin_school` where id = "45"; #id 
select * from `admin_school` where title like "%Ubuntu%"; #模糊查询
select * from `admin_school` group by brief HAVING count(*)>2 # 分组查询
select * from `admin_school` where title REGEXP '^[A-D]'  # 正则查询
INSERT INTO `admin_school` VALUES ('鞍山路小学', '张三', '12345678901', '市南区鞍山路112号', '01');
update `admin_school`  set title="world" where id=60; # 更新单条数据
delete from `admin_school` where id=58; # 删除数据

SELECT a.*,b.* FROM `jc_info` a JOIN `jc_aq` b on a.jcid=b.jcid order by a.id desc limit 0,3 # 嵌套查询

SELECT a.*,b.useritem,c.citem1,c.citem2,c.citem3 FROM `jc_info` a JOIN `jc_aq` b join jc_count c on a.jcid=b.jcid=c.jcid order by a.id desc limit 0,3 # 多表嵌套

mysql 恢复初始密码

step1:

苹果->系统偏好设置->最下边点mysql 在弹出页面中 关闭mysql服务(点击stop mysql server)

step2:

进入终端输入:cd /usr/local/mysql/bin/
回车后 登录管理员权限 sudo su
回车后输入以下命令来禁止mysql验证功能 ./mysqld_safe --skip-grant-tables &
回车后mysql会自动重启(偏好设置中mysql的状态会变成running)

step3:

输入命令 ./mysql
回车后,输入命令 FLUSH PRIVILEGES;
回车后,输入命令 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('你的新密码');