MySQL基础语法
创建数据库
bash
CREATE DATABASE 数据库名; |
---|
判断是否存在此名字数据库,不存在则创建
bash
CREATE DATABASE IF NOT EXISTS 数据库名; |
---|
创建数据库,并指定字符集为某种类型
bash
CREATE DATABASE 数据库名 CHARACTER SET 字符集(UTF-8); |
---|
查询目前已有数据库
bash
SHOW DATABASES; |
---|
查询数据库里面的定义信息
bash
SHOW CREATE DATABASE 数据库名; |
---|
修改数据库的字符集类型
bash
ALTER DATABASE 数据库名 DEFAULT CAHRACTER SET 新字符集类型; |
---|
删除相应数据库
bash
DROP DATABASE 数据库名; |
---|
查询目前使用的哪个数据库
bash
SELECT DATABASE(); |
---|
切换数据库
bash
USE 数据库名; |
---|
创建一张新表
bash
CREATE TABLE 表名(字段名 字段类型,字段名 字段类型,......字段名 字段类型); |
---|
查询使用的数据库里的所有表
bash
SHOW TABLES; |
---|
查询表的内部结构
bash
DESC 表名; |
---|
查询创建此表时的SQL内部语句
bash
SHOW CREATE TABLE 表名; |
---|
快速创建与旧表结构一致的表
bash
CREATE TABLE 新表名 LIKE 旧表名; |
---|
删除相应表
bash
DROP TABLE 表名; |
---|
判断是否存在此名字的表,存在则删除掉
bash
DROP TABLE IF EIXSTS 表名; |
---|
添加表的新字段
bash
ALTER TABLE 表名 ADD 字段名 数据类型; |
---|
修改表的字段的数据类型
bash
ALTER TABLE 表名 MODIFY 字段名 新的数据类型; |
---|
修改表的字段名
bash
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型; |
---|
删除表里面的字段
bash
ALTER TABLE 表名 DROP 字段名; |
---|
修改表的名字
bash
RENAME TABLE 旧表名 TO 新表名; |
---|
修改表的字符集类型
bash
ALTER TABLE 表名 CHARACTER SET 新字符集类型; |
---|
表的字段插入完整数据
bash
INSERT INTO 表名 (字段名1,字段名2,字段名3...) VALUES(值1,值2,值3...); |
---|
表的字段插入数据(不写字段名,但是需要完整写入值)
bash
INSERT INTO 表名 VALUES(值1,值2,值3...); |
---|
表的字段插入部分数据(没有添加的数据值为NULL)
bash
INSERT INTO 表名 (字段名1,字段名2,...)VALUES(值1,值2,...); |
---|
把表名2的字段和数据全部复制到表名1
bash
INSERT INTO 表名1 SELECT * FROM 表名2; |
---|
把表名2的部分字段和部分数据复制到表名1
bash
INSERT INTO 表名1(字段1,字段2...) SELECT 字段1,字段2... FROM 表2; |
---|
修改表的字段名的所有数据!!!谨慎操作
bash
UPDATE 表名 SET 字段名 = 值; |
---|
判断符合条件的对应字段,然后修改数据
bash
UPDATE 表名 SET 字段名 = 值 WHERE 字段名 = 值; |
---|
判断符合条件的对应字段,然后多字段的进行修改数据
bash
UPDATE 表名 SET 字段名 = 值,字段名 = 值 WHERE 字段名 = 值; |
---|
删除选择的表全部数据
bash
DELETE FROM 表名; |
---|
判断符合条件的表,然后删除表全部数据
bash
DELETE FROM 表名 WHERE 字段名 = 值; |
---|
删除表数据和结构,然后新建新表
bash
TRUNCATE TABLE 表名; |
---|
查询选择的表的字段和行的全部数据
bash
SELECT * FROM 表名; |
---|
查询指定的字段名的对应数据
bash
SELECT 字段名1,字段名2,字段名3... FROM 表名; |
---|
对字段设置指定别名
bash
SELECT 字段名1 AS 别名1,字段名2 AS 别名2 FROM 表名; |
---|
对字段和表同时指定别名
bash
SELECT 字段名1 AS 别名1,字段名2 AS 别名2 FROM 表名 AS 表别名; |
---|
查询指定字段数据,且不产生重复数据
bash
SELECT DISTINCT 字段名 FROM 表名; |
---|
字段的数据和指定值进行算术运算(数值类型)
bash
SELECT 字段名 指定值 FROM 表名; |
---|
字段的数据与字段的数据进行算术运算(数值类型)
bash
SELECT 字段名1 字段名2 FROM 表名; |
---|
查询满足条件的字段里的数据
bash
SELECT 字段名 FROM 表名 WHERE 条件; |
---|
MySQL运算符
比较运算符
类型 | 符号 |
---|---|
大于符号 | > |
小于符号 | < |
大于等于符号 | >= |
小于等于符号 | <= |
等于符号 | = |
不等于符号 | <>或者!= |
MySQL范围查询
bash
BETWEEN 范围1 AND 范围2#范围1是起始值和范围2是结束值,在此范围内记录就返回,不在则不返回。NOT BETWEEN 范围1 AND 范围2#范围1是起始值和范围2是结束值,不在此范围内的值就返回,在范围的值不返回。 |
---|
MySQL常用数据类型
数值类型
类型 | 大小 | 用途 | 有符号范围 | 无符号范围 |
---|---|---|---|---|
TINYINT | 1 Bytes | 小整数 | -128~127 | 0~255 |
INT或INTEGER | 4 Bytes | 常用整数值 | -2^31 ~ 2^31-1 | 0~2^32-1 |
FLOAT | 4 Bytes | 单精度(浮点类型) | ||
DOUBLE | 8 Bytes | 双精度(浮点类型) |
日期时间类型
类型 | 格式 |
---|---|
Datetime | YYYY-mm-dd HH:MMss |
Date | YYYY-mm-dd |
Time | HH:MM:ss |
Timestamp | 时间戳,从1970/1/1开始,格式与Datetime一致 |
字符串类型
类型 | 长度 |
---|---|
char | 最大长度255 |
varchar | 可以是字符串,最大长度65536 |