Mysql 常识
- 命令行界面登录方法:
mysql
-h IP
-P 端口
-uroot
-p密码
; 注意端口 - 命令行界面,一条完整的可执行语句后面需要加分号
;
.如果不加;
,回车表示换行,命令行显示->
数据类型
- int:整型
- double: 浮点型; double(5,2) 总长5位,小数2位,最大999.99
- decimal: 浮点型; 10进制,多用于表示钱,精度较好
- BigInteger:
- BigDecimal:
- char: 固长字符串,最长char(255),不管存多少字符,都会补足指定的字符数
- varchar: 可变长字符串,最长varchar(65535)
- text: 超大字符串类型
- date: 日期类型;格式YYYY-MM-DD
- time: 时间类型;格式hh:mm:ss
- timestamp: 时间戳类型
SQL语句的分类
DDL
对数据库的表结构操作
-- 查看所有数据库
SHOW DATABASES;
-- 切换数据库
USE mydb1;
-- 返回目录
USE MYSQL;
-- 创建数据库
CREATE DATABASE mydb1;
CREATE DATABASE [IF NOT EXISTS] mydb1 [CHARSET = utf8]
-- 查询和修改数据库(表)编码方式
SHOW VARIABLES LIKE 'character_set_database'
ALTER DATABASE mydb1 CHARACTER SET utf8
SHOW CREATE TABLE table_name
ALTER TABLE table_name CHARACTER SET utf8
-- 删除数据库
DROP DATABASE database_name
-- 备份数据库(不用进入mysql)
MYSQLDUMP -u 用户名 -p 数据库名 > D:/文件名.SQL;
-- 恢复数据库
--> 登录mysql
--> USE 目标数据库; (需要先创建)
--> SOURCE D:/文件名.SQL
-- 创建表
CREATE TABLE 表名(
列名 列类型,
列名 列类型
)
;
-- 查询表
SHOW TABLES;
-- 查询表结构
DESC 表名;
-- 删除表
DROP 表名;
-- 修改表
-- 添加列
ALTER TABLE 表名 ADD (
列名 列类型,
列名 列类型
);
-- 修改列类型
ALTER TABLE 表名 MODIFY 列名 列类型;
-- 删除列
ALTER TABLE 表名 DROP 列名;
-- 修改表名
ALTER TABLE 表名 RENAME TO 表名;
DML
表记录的增/删/改
更详细的操作可以参考MSSQL的相关知识:详细
-- 插入记录
INSERT INTO 表名(列名1,列名2,...) VALUES (值1,值2,...);
-- 替换记录
REPLACE INTO 表名(列名1,列名2,...) VALUES (值1,值2,...);
-- 修改列值
UPDATE 表名 SET 列名1 = 值1,列名2 = 值2,... [WHERE 条件];
运算符:=, !=, <>, <, >, <=, >=, BETWEEN...AND, IN(...), IS NULL, IS NOT NULL, NOT, OR, AND
-- 删除记录
DELETE FROM 表名 [WHERE 条件];
DQL
对表记录的查询
更详细的操作可以参考MSSQL的相关知识:详细
-- 查询表记录
DCL
对用户的创建和授权
一般情况下一个项目对应一个用户
--创建用户
CREATE USER 用户名@IP地址 IDENTIFIED BY '密码'; --限制IP地址
CREATE USER 用户名@'%' IDENTIFIED BY '密码'; --不限制IP地址
--用户授权
GRANT 权限1,权限2... ON 数据库.* TO 用户名@IP地址;
-- 权限:CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT...
-- 所有权限:ALL
--撤销授权
REVOKE 权限1,权限2,... ON 数据库.* FROM 用户名@IP地址;
--查看权限
SHOW GRANTS FOR 用户名@IP地址;
--删除用户
DROP USER 用户名@IP地址