Mac 下GUI-Sequel Pro
Mysql v8.0以上会用不了
查看https://blog.csdn.net/zt15732625878/article/details/83388468
https://sequelpro.com/test-builds
系统库(不能删除)
登陆
$ mysql -uroot -p12345678 #明文密码方式
$ mysql -uroot -p #输入密码方式
$ ********
mysql>
基本操作
# 设置数据库编码
set names utf8;
# 导入数据库文件
# 注意:1.数据结构都会修改 2. .sql文件没有涉及的表不会自己删除
use d_name; # 选择d_name
source xx/xx/new_name.sql; # 把当前库修改成new_name.sql内容
use d_name;# 选择d_name数据库
show databases;# 查看所有库
show tables;# 查看当前库 所有表
desc t_name;# 查看t_name表的结构
增
# 创建新名字为test的数据库
create database test;
#复制一个表
CREATE TABLE <表名> LIKE <被复制表>
#复制一个表和他的数据
CREATE TABLE <表名> SELECT * FROM <被复制表>
# == == == == 添加字段
#添加一个字段
ALTER TABLE <表名> ADD <列名> <数据类型> <其他>;
#<数据类型>
# 数字 tinyint smallint mediumint int bigint float double ...
#<其他>可以是
ALTER TABLE 表名 ADD 字段名 字段类型 [约束条件] [位置]
ALTER TABLE t_test ADD nickname varchar(25);# 例子-普通
ALTER TABLE t_test ADD nickname varchar(25) COMMENT ‘昵称’;# 例子-带约束条件
ALTER TABLE t_test ADD nickname varchar(25) FIRST;# 带位置
ALTER TABLE t_test ADD nickname varchar(25) AFTER gender;# 添加到<已存在字段>后
删
删 库、表
# 库
drop database letoo_game;
# 表
drop table t_users;
# == = = = == = = 数据
# 删所有 delete from <table name>;
delete from t_users;
# 筛选删 delete from <table name> WHERE <clause>;
delete from t_users where u_id=3;
改
改数据
UPDATE <表名>
SET 字段1=值1 [,字段2=值2… ]
[WHERE 子句 ]
[ORDER BY 子句]
[LIMIT 子句]
#举例
UPDATE user_game SET coin="1e+10" WHERE use_id=2;
改表结构
# == == == == 要修改名字
ALTER TABLE 表名 CHANGE 旧名 新名 类型 [约束条件];
ALTER TABLE t_test CHANGE name nickname int DEFAULT 0 NOT NULL;
# == == == == 修改其他
ALTER TABLE 表名 MODIFY COLUMN 名字 类型 [约束条件];
ALTER TABLE t_test MODIFY COLUMN nickname int DEFAULT 0 NOT NULL;
# == == == == 删除字段
ALTER TABLE t_test ALTER DROP COLUMN nickname;
# 设置字段条件
ALTER TABLE t_test ALTER COLUMN nickname SET DEFAULT ‘刘德华’;
# 删除字段条件
ALTER TABLE t_test ALTER COLUMN nickname DROP DEFAULT;
# == == == == 修改表结构-约束条件
ALTER TABLE t_user ADD unique(username);
ALTER TABLE t_user ADD primary key(username);
查
select * from t_name;# 列出表中所有内容
约束条件
PRIMARY KEY #(主键)
NOT NULL #(非空)
AUTO_INCREMENT #(自增长)
UNIQUE #(值唯一)
FOREING KEY #(外键)
DEFAULT 1 #(默认值)
导出
-d
表示只导出结构
>
表示写入这个文件
>>
表示添加到这个文件尾
# 导出数据库
mysqldump -u用户名 -p密码 [-d] 库名 >文件名.sql;
#导出某张表
mysqldump -u用户名 -p密码 [-d] 库名 表名>文件名.sql;
#只导出指定的多张表
mysqldump -u用户名 -p密码 库名 表名1 表名2 表名3>文件名.sql;
其他
时间戳与date类型转换
# 把时间戳转成date类型
FROM_UNIXTIME(123123123)
# date类型转成时间戳
UNIX_TIMESTAMP('2020-09-23 20:00:35')
添加时间
DATE_ADD(date,INTERVAL expr type)
# 参数:date
now() #当前时间
'2020-09-23 20:00:35' #时间字符串
# 参数:expr type
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH
# 获取当前时间
select now();
# 更新当前时间
UPDATE user_games SET speed2_endtime=date_add(now(),interval 15 minute)WHERE user_id = 10 LIMIT 1;
mysql 命令
看所有库
show databases;
选择表
use 表名;
看所有表
show tables;
看xxx表所有数据
select * from 表名;
select 键1,键2 from 表名 where 条件;
创建数据库
create database xxx;
显示表结构
describe xxx;
插入数据
insert into xxx(id,username,age,sex) values(1,"zhangsan",23,1);
修改数据
update xxx set yyy=123 where id=2;
删除数据
delete from xxx where id=3;
排序
select * from 表 order by id asc;(升序)
select * from 表 order by id desc;(降序)
select * from 表 order by id desc,sex asc;(多字段,多排序)
统计
select count(第几列) from 表
限制
select * from 表 limit 查询数
select * from 表 limit 跳过数,查询数
删除表、库
drop table 表名
drop database 库名
##查询
SELECT * FROM <表名> WHERE <条件>
删除
DELETE FROM <表名> WHERE <条件>
##更新修改
UPDATE <表名> SET <修改参数> WHERE <条件>
条件
不等于
<>
包含
in()
匹配XXX字段
( NOT ) LIKE 'XXX'
带%通配 如wang% 代表以wang为开头的所有
清空表数据
TRUNCATE <表名>
刷新root
请求权限
# 到系统表
use mysql;
# 察看所有用户与host
select user,host from `user`;
# 更新root的host
update `user` set host="%" where user = "root" limit 1;
# 刷新权限
flush privileges
条件 WHERE
IS NOT NULL 有值
IS NULL 无值
select * from 表 where address IS NOT NULL or address ="";
BETWEEN 在范围内
NOT BETWEEN 不在范围内
select * from 表 where score BETWEEN 70 AND 90;
IN 指定范围内
select * from 表 where score IN (70,88,90);
OR(或)、AND(与)、NOT(非)
LIKE 搜索指定模式 模糊查询
%
表示忽略
%xx
:以xx结尾
xx%
:以xx开头
%xx%
:包含xx
select * from 表 where email like "%qq.com%";
分组函数
括号里可以写列
id
或key
写法 | 作用 |
---|---|
AVG() | 平均值 |
COUNT() | 数量 |
MAX() | 最大 |
MIN() | 最小 |
SUM() | 和 |
评论