mysql 支持的数据类型
- 数字:TINYINT,SMALLINT,MEDIUMINT,INT,BIGINT,BIT
- 浮点数:DECIMAL,FLOAT,DOUBLE
- 字符串:CHAR,VARCHAR,BINARY,VARBINARY,BLOB,TEXT,ENUM,SET
- Spatial
- JSON
mysql 创建删除等
一些命令
exit 退出连接
\c 撤销
USE +数据库名; 连接到数据库
SELECT DATABASE(); 查修连接到哪一个数据库
SHOW DATABASES; 显示有权限的数据库
SHOW ENGINES\G 显示所有引擎
SHOW CREATE TABLE +表名\G 显示表结构
CREATE TABLE new_table LIKE table 克隆表结构
连接mysq
mysql -h localhost -P 3306 -u root -p
-h 地址
-P 端口
-u 用户名
-p 密码(建议不在命令行中输入)
创建数据库
CREATE DATABASE test
CREATE DATABASE test.database
(如名称中包含特殊字符时,用xx
包裹)
创建表
CREATE TABLE IF NOT EXISTS test
.table
(
id
int unsigned AUTO_INCREMENT PRIMARY KEY,
first_name
varchar(20),
last_name
varchar(20),
country
varchar(20)
)ENGINE=innoDB;
每行解释
1 如果改数据库中不存在改表,则在数据库test中创建table表(如果已经连接了数据库test则只需要table即可)
2 id无符号整数 自动生成递增序列作为主键
3 字符串
6 存储引擎 (包括innoDB,MyISAM,FEDERATED,BLACKHOLE,CSV,MEMORY)InnoDB是唯一事务引擎,也是默认
插入行
INSERT IGNORE INTO company
.customers
(id,first_name,last_name,country)
VALUES (1,'F','HC','CN');
IGNORE 如果已经存在,则新数据被忽视,INSERT仍然执行成功,反之产生错误信息。
REPLACE INTO customers
VALUES (1,'F','HC',CB);
通过主键或唯一键判断是否存在,如果存在则删除原有,并重新插入。不存在则直接插入
INSERT IGNORE INTO company
.customers
(id,first_name,last_name,country)
VALUES (1,'F','HC','CN') ON DUPLICATE KEY UPDATE first_name=test;
ON DUPLICATE KEY UPDATE(mysql独有,有则插入无则执行更新)
更新行
UPDATE customers
SET first_name='Rajiv',country='UK' WHERE id=4;
更新customers,设置id=4的行 first_name与country
删除行
DELETE FROM customers
WHERE id=4 ADN first_name='test';
删除行
TRUNCATING TABLE删除所有行
SQL
SELECT
SELECT DISTINCT
WHERE
AND & OR
ORDER BY
INSERT INTO
UPDATE
DELETE
LIMIT
LIKE
RLIKE(REGEXP)
IN
BETWEEN
AS
INNER JOIN
LEFT JOIN
RIGHT JOIN
UNION
UNION ALL
INSERT INTO SELECT
GROUP BY
HAVING
EXISTS
函数
AVG()
COUNT()
FIRST()
LAST()
MAX()
MIN()
SUM()
UNCASE()
LCASE()
MID()
LEN()
ROUND()
NOW()
FORMAT()
Q.E.D.