mysql增删改查

查看所有数据库
mysql> show databases;

创建一个库ghd并指定字符集为utp8

mysql> create database ghd charset utf8;

查看mysql支持的字符集

mysql> show char set;

创建一个表,并设置id为主键

create table `ghdtable` ( `id` varchar(10) primary key, `name` varchar(10) not null, `age` varchar(3), `sex` varchar(2) );

增 :insert into tablename values(id,name,age,sex)  
例如:

mysql> insert into ghdtable values ( 2,'liyingwen',23,'男');

mysql> insert into ghdtable values ( 1,'v_hdongguo',27,'男');

查看表内容

mysql> select * from ghdtable;

多条件查询:select * from tablename where 1=a and 2=b;

例如:mysql> select * from ghdtable where name='liyingwen' and age=23;

删除:
drop:删除表数据和表结构

delete:清空表数据

truncate:当表数据量比较大的时候推荐使用

delete from tablename  #后面如果不添加where 条件会删除所有数据

例如:删除ghdtable表中id=1的行

 

改:update 表名 set  

例如:将id这一列中的sex字段修复改为女
mysql> update ghdtable set sex='女' where id=1;

mysql> update ghdtable set name='guoyanmei' where id=2;

查:select 字段 from 表名 where 条件判断

例如:查找ghdtable表中名字为liyingwen的行

mysql> select * from ghdtable where name='liyingwen';

mysql重启遇到问题启动失败

问题分析:

1、可能是/opt/mysql/data/数据目录mysql用户没有权限(修改数据目录的权限)

   解决方法 :给予权限,执行  "chown -R mysql.mysql /opt/mysql/data"  然后重新启动mysqld

 2、可能进程里已经存在mysql进程

   解决方法:用命令“ps -ef|grep mysqld”查看是否有mysqld进程,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld!

 3、可能是第二次在机器上安装mysql,有残余数据影响了服务的启动。

   解决方法:去mysql的二进制日志目录看看,如果存在mysql-binlog.index,就赶快把它删除掉吧

 4、mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]下有没有指定数据目录(datadir)。

   解决方法:请在[mysqld]下设置这一行:datadir = /opt/mysql/data

 5、skip-federated字段问题

   解决方法:检查一下/etc/my.cnf文件中有没有没被注释掉的skip-federated字段,如果有就立即注释掉吧。

问题排查,查看报错日志

额~~  自己修改过/etc/my.cnf,这配置文件中开启慢查询日志导致的,自己配置有问题,修改为slow_query_log = on后重启恢复正常

设置慢查询时间为2s:这my.cnf添加long_query_time=2

临时关闭慢查询日志

set global slow_query_log='OFF';

通过set global long_query_time =1;来临时设置慢查询时间为1s,测试后不生效,这配置文件中设置重启数据库正常(原因待确认)

原文地址:https://www.cnblogs.com/python-cat/p/8361606.html