mysql常用命令,持续更新

254 阅读2分钟

用户权限

创建远程登录用户并授权

mysql> use mysql;
mysql> grant all PRIVILEGES on ted.* to root@'123.123.123.123' identified by '123456';

上面的语句表示将 discuz 数据库的所有权限授权给 ted 这个用户,允许 ted 用户在 123.123.123.123 这个 IP 进行远程登陆,并设置 ted 用户的密码为 123456 。

注:123.123.123.123 表示允许远程连接的 IP 地址,如果想不限制链接的 IP 则设置为“%”即可。

数据库服务

状态信息查询,如:

mysql> status;

版本查询

mysql> show global variables like 'version';
或
mysql> select version();

端口查询

mysql> show global variables like 'port';

数据表操作

创建数据表

CREATE TABLE IF NOT EXISTS `user`(
   `id` INT UNSIGNED AUTO_INCREMENT,
   `name` VARCHAR(100) NOT NULL,
   `submission_date` DATE,
   PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

  • 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错
  • AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1
  • PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔
  • ENGINE 设置存储引擎,CHARSET 设置编码。

显示表结构

mysql> show create table user;

| user  | CREATE TABLE `user` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT,
  `user_name` varchar(40) NOT NULL,
  `submission_date` date DEFAULT NULL,
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_IN

删除列

ALERT TABLE user DROP COLUMN user_name;

| user  | CREATE TABLE `user` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT,
  `submission_date` date DEFAULT NULL,
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 |

新增列

alter table user add column name varchar(40) not null;

| user  | CREATE TABLE `user` (
  `user_id` int(11) NOT NULL AUTO_INCREMENT,
  `submission_date` date DEFAULT NULL,
  `name` varchar(40) NOT NULL,
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 |

修改列属性

alter table user modify column phone varchar(15);

插入数据

insert into user (name, sex, age, email, phone, avatar) values ('***', 1, 19, 'w33dffdll4443hj@163.com', 13311111111, '');


更新数据

update user set avatar='lhj.jpg' where id=1;