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删除所有行