一、mysql常用的语句
1、创建数据库
语法:create database 数据库名;
2、创建表
create table 表名(字段1 类型,字段2 类型...),如 create table user(name varchar(25),password varchar(25))
3、创建表时,指定某个字段为自增用AUTO_INCREMENT,如
create table getUserInfoCase(id int auto_increment primary key,userAtDomain varchar(100), BodyStr varchar(255), isDelete char(2),expected varchar(255));
那么id将会从1开始自增
设置从N开始自增
create table getUserInfoCase(id int auto_increment primary key,userAtDomain varchar(100), BodyStr varchar(255), isDelete char(2),expected varchar(255)) AUTO_INCREMENT = 100;
id从100开始自增
4、往表中增加字段
ALTER TABLE table_name ADD field_name field_type; 如alter table user add column birthday datetime,往user表增加birthday字段
5、更改表字段类型
alter table user modify name nchar(50);
6、查看表结构:
desc 表名
7、往数据库中插入数据
语法:insert into 表名(字段1,字段2..) values(字段1的值,字段2的值..) 或者insert into 表名 values(字段1的值,字段2的值..所有表的字段)
1)数据表中Id为自增:
如存在表table(id,name,password),其中Id为自增。在写数据库时只需设置name和password的值。如:insert into table(name,pasword) values ("张三","123");
2)插入的数据存在"、\等字符,需使用"\"进行转义。如需写入name的值为 dsldks\sfjls dl” ,可写成insert into table(name,pasword) values (" dsldks\\sfjls dl\”","123");
8、更新数据表中的记录
语法:update 表名 set 字段名='字段值' where 条件,如
update user set password='456' where name='user1' ,更新数据表user中姓名为user1的密码为456
9、在sql语句后加 \G 作用是将查到的结构旋转90度变成纵向
例如;select * from xxx where instance_id='or201803270005'\G;
10、赋予权限:
使用grant all privileges on来更改用户对应某些库的远程权限
语法模板
grant all privileges on 库名.表名 to '用户名'@'IP地址' identified by '密码' with grant option;
flush privileges;
如:
grant all privileges on *.* to 'user'@'192.168.20153' identified by '123456' with grant option;
若允许所有ip,则将ip地址改成%,如:grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
11、查看mysql某字段是否有索引
可以使用SHOW INDEX FROM table_name来查看表的索引,查询结果中
key_name为索引名,Column_name为列名
12、删除表字段
删除表的字段 alter table 表名 drop column 字段名,如alter table cm_user_info drop column bind_email;
13、删除某条记录 :
delete from 表名 where 条件 ,如delete from user where name='user3' ,删除user 表中name='user3'的记录
14、删除数据库
drop database 数据库名 删除数据库
drop database if exists 数据库名 //if exists 判断数据库是否存在,不存在也不报错
15、仅除去表内的数据,但并不删除表本身
TRUNCATE TABLE 表名称
16、在navicat下注释和取消注释sql语句
navicat 注释sql语句快捷键
1、选中要注释sql
2、ctrl+/
取消:
1、选中要取消注释sql
2、ctrl+shift+/
17、查看数据库支持和默认使用的引擎
show engines;
18、查看当前数据库表使用的引擎类型
show create table 表名;#可以看到数据库表使用的引擎,也可以看到创建数据库表的sql语句
二、linux下查看mysql版本
1、在终端先执行
mysql -V
mysql --help|grep Distrib
2、在mysql里查看
select version()
status
三、linux下安装mysql
1、centos 7安装Mysql 5.7
http://blog.sina.com.cn/s/blog_a5191a440102wk6k.html
下载地址
https://dev.mysql.com/downloads/mysql/5.7.html
2、centos 6安装Mysql 5.6
https://blog.csdn.net/superchanon/article/details/8546254/
参考其中的rpm安装方式
四、linux下dump mysql数据库
五、错误:Packet for query is too large (1706 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
解决方法: 1、接数据库服务器,登录 mysql, 执行命令 : show variables like '%max_allowed_packate%' 即可查看这个系统参数目前的值 2、在 Linux 中,MySQL 对应的配置文件是 my.cnf , 我们在Linux终端输入如下命令 :
mysql --help | grep my.cnf
可以查看 MySQL 所使用的 my.cnf 列表(优先级列表,先找到的配置文件生效),MySQL 会逐个目录寻找这个文件,直到找到为止!
我们逐个目录找到我们系统 MySQL 所使用的 my.cnf 配置文件,找到对应的配置项,修改为 100M 即可。
注意: MySQL 配置文件分为几个段 (Section), 包括 [mysql], [mysqld], [mysqldump] 等, 我们需要在 [mysqld] 段下添加配置项 : max_allowed_packet = 100M
参考
https://blog.csdn.net/chengyuc/article/details/77094775 Linux查看MySQL版本的四种方法
http://jingyan.baidu.com/article/2d5afd69c4fca685a3e28e49.html 如何解决 MySQL max_allowed_packet 错误