MySQL常用命令
-- create database name; 创建数据库
-- use databasename; 选中数据库
-- drop database name; 直接删除数据库,没有提示
-- show tables; 显示表
-- mysqladmin drop database name; 删除数据库,有提示
-- select * from 表名; 查询表中所有字段
-- select 列1,列2,...from 表名; 查询指定字段
-- select 字段 as 名字...from 表名; 使用as给字段重命名
-- select distinct 字段 from 表名; 使用distinct消除重复行
-- select ... from 表名 where 条件; 条件查询
-- select ... from 表A inner join 表B; 连接查询
-- insert into 表名 (列1,...,列n) values(‘数据‘,...,‘数据‘); 插入
-- updete 表名 set 列名=‘值‘ where 条件 更新
查询条件
-- like %(模糊查询) % :替换任意个 _ :替换1个
-- between...and...表示在一个连续的范围内,包含两端。
-- is null 空判断 is not null 非空判断
-- order by 字段 asc/desc 排序 asc:升序 desc:降序 放于条件之后。
-- 聚合函数(总数):count(字段) select count(*) from 表名 where 条件;
-- 最大值 :max(字段) 最小值:min(字段) 求和:sum(字段) 平均值:avg(字段)
计算平均:sum(字段)/count(*)
四舍五入:round(123.23,1)保留一位小数。
-- select 分组字段 from 表名 group by 分组字段; 分组
数据库创建
create table user
(
user_id INT NOT NULL AUTO_INCREMENT,
username varchar(20) not null,
password varchar(64) not null,
nickname varchar(20) not null,
avatar varchar(500) null,
create_time timestamp not null DEFAULT NOW(),
PRIMARY KEY (user_id),
UNIQUE(username)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE classify
(
classify_id INT NOT NULL AUTO_INCREMENT,
name varchar(50) not null,
PRIMARY KEY (classify_id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
create table article
(
article_id int not null auto_increment,
title varchar(50) not null,
content text not null,
user_id int not null,
classify_id int not null,
create_time timestamp not null default NOW(),
primary key (article_id),
FOREIGN KEY (user_id) REFERENCES user(user_id),
FOREIGN KEY (classify_id) REFERENCES classify(classify_id)
)ENGINE=INNODB DEFAULT CHARSET=utf8;
create table comment
(
comment_id int not null auto_increment,
user_id int not null,
content varchar(100) not null,
article_id int not null,
talk_time timestamp not null DEFAULT now(),
primary key (comment_id),
FOREIGN KEY (user_id) REFERENCES user(user_id),//外键
FOREIGN KEY (article_id) REFERENCES article(article_id)
)ENGINE=INNODB DEFAULT CHARSET=utf8;
create table images
(
img_id int not null auto_increment,
img_url varchar(500) not null,
user_id int not null,
PRIMARY KEY (img_id),
FOREIGN KEY (user_id) REFERENCES user(user_id)
)ENGINE=INNODB DEFAULT CHARSET=utf8;
注:
- AUTO_INCREMENT 定义列名为自增属性
- PRIMARY KEY 定义列名为主键
- ENGINE设置存储引擎
- CHARSET设置编码
MySQL常用命令