目录
在mysql环境下执行授权命令(授权给远程任何电脑登录数据库):
学习来源:
一、数据库的常见操作
进入数据库:(默认的账号都是root)
mysql -u root -p
退出数据库:
quit;
查询数据库:
show databases;
创建数据库:
create database XX(数据库名);
create database if not exists XX(数据库名);
create database XX(数据库名) charset= (字符编码,例如utf8);
显示数据库信息:
show create database XX(数据库名);
更改数据库的字符编码:
alter database XX(数据库名) character set utf8;
删除数据:
drop database XX(数据库名);
drop database if exists XX (数据库名字);
选择数据库进行操作:
use XX(数据库名);
二、数据表的常见操作
创建表:
create table XX(表名)(
字段1名 数据类型 字段特性,
字段2名 数据类型 字段特性,
.......
字段n名 数据类型 字段特性
)存储引擎 编码;
#例子
CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
- 数据类型:
int 整型
tinyint 整型(0-256)
decimal 浮点型(总位数,小数位数) 例如 decimal(3,1)
float 浮点型 4字节 单精度
double 浮点型 8字节 双精度
char(X) 定长字符型 例如 char(10)
varchar(X) 可变长度字符型 例如varchar(10)
text 大段文本
binary 二进制(存储照片等)
date 年月日 3字节 格式:YYYY-MM-DD
year 年 1字节 格式:YYYY
datetime 年月日时分秒 格式:YYYY-MM-DD HH:MM:SS
- 字段特性:
如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错
AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1
PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔
ENGINE 设置存储引擎,CHARSET 设置编码
default 'XXXX':默认值
查看所有表:
show tables;
显示创建表:
show create table XX(表名);
show create table XX(表名) \G;
显示表结构:
describe(或desc) XX(表名);
删除表:
drop table XX(表名);
drop table XX,XX,XX......;
三、数据的基本操作
插入数据:
insert into XX(表名) (字段1,字段2,字段3......) values (值1,值2,值3.......);
查询数据:
select * from XX(表名);
select 字段1,字段2,字段3......(或用"*"代替所有字段) from XX(表名);
select * from XX(表名)where 字段1 = 值1 and 字段2 = 值2 and ......;
- 由低到高排序
select * from XX(表名) order by 字段x asc;(默认就是升序)
- 由高到低排序
select * from XX(表名) order by 字段x desc;
- 按某条件排序
select * from XX(表名) where 字段x = 值x oreder by 字段x asc(desc);
- 取前n条数据
select * from XX(表名) limit n;
- 从第n条开始(起始位置是0)取m条
select * from XX(表名) limit n,m;
- 查询某排序下的前n条数据
select * from XX(表名) order by 字段x asc(desc) limit n;
删除数据:
delete from XX(表名) where 字段x = 值x;
修改数据:
update XX(表名) set 字段1 = 值1,字段2 = 值2 where 条件;
update XX(表名) set 字段1 = 值1;
聚合函数:
- 求和 select sum(字段x) from XX(表名);
- 求平均值 select avg(字段x) from XX(表名);
- 求最大值 select max(字段x) from XX(表名);
- 求最小值 select min(字段x) from XX(表名);
- 记录数 select count(字段x) from XX(表名);/select max(*) from XX(表名);
- 在某字段条件下使用函数 select 函数名() from XX(表名) where 字段x = 值x ;
四、其他操作
进入配置文件:
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
在mysql环境下执行授权命令(授权给远程任何电脑登录数据库):
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION;
刷新配置信息:
flush privileges;
重启数据库:
service mysql restart
修改密码:
(之后再执行 /刷新配置信息/,然后退出重启)
use mysql;
update mysql.user set authentication_string=password('你的新密码') where user='root';