SQL语句可以多行单行书写,以分号结尾
进入数据库:mysql -hlocalhost -uroot -p
查询表中数据:SELECT * FROM your_table_name;
操作databases:
查询所有数据库 | show databases(); |
查询当前数据库 | select databases(); |
创建 | create database[if not exists] 数据库名; |
删除 | drop database[if exists]数据库名 ; |
使用 | use 数据库名; |
创建时,可以设置字符集如:create database test default charset utf8mb4
操作tables:
查询表、库
查询表结构 | desc 表名 |
查询表 | show tables |
查询指定表建表语句 | show create table表名 |
DDL数据定义语言,用来定义数据库对象(数据库,表,字段)
查询当前是数据库所有表 | SHOW TABLES; |
---|---|
DESC表名; | |
查询制定表的建表原句 | SHOW CREATE TABLE; |
DDL-表操作-创建
create table table_name(
id int comment 'code',
name varchar(50) comment'name',
age int comment 'age',
gender verchar(1) comment'gender'
)
数据类型及案例
分类 | 类型 | 有符号(signed)范围 | 无符号范围 | 大小(bytes) | 描述 |
数值类型 | tinyint | (-128,127) | (0,225) | 1 | 小整数值 |
smallint | (-32768,32767) | (0,65535) | 2 | 大整数值 | |
mediumint | (-8388608,8388607) | (0,16777215) | 3 | 大整数值 | |
int\integer | 4 | 大整数值 | |||
bigint | 8 | 极大整数值 | |||
float | 4 | 单精度整数值 | |||
double | 8 | 双精度整数值 | |||
decimal | 小数值 |
分类 | 类型 | 大小 | 描述 |
字符串类型 | char | 0-255bytes | 定长字符串 |
varchar | 0-65535 | 变长字符串 | |
tinyblob | 0-255 | 不超过255个字符的二进制数据 | |
tinytext | 0-255 | 短文本字符 | |
blob | 0-65535 | 二进制长文本数据 | |
text | 0-65535 | 长文本数据 | |
mediumblob | |||
mediumtext | |||
longblob | |||
longtext |
分类 | 类型 | 大小 | 范围 | 格式 | 描述 |
日期类型 | date | 3 | 1000-01-01至9999-12-31 | YYYY-MM-DD | 日期值 |
time | 3 | -838:59:59至838:59:59 | HH:MM:SS | 时间值或持续时间 | |
year | 1 | 1901至2155 | YYYY | 年份值 | |
datetime | 8 | 1000-01-01 00:00:00至9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 | |
timesteamp | 4 | 1970-01-01 00:00:01至2038-01-19 03:14:07 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值,时间戳 |
修改表的操作
添加字段 | alter table [test] add [name] varchar(20); |
修改字段数据类型 | alter table [test] moodify name1 char(30); |
修改字段名和字段类型 | alter table [test] change name1 [name2] varchar(30); |
删除字段 | alter table [test] change drop [name1]; |
修改表名 | alter table [test] rename to [test1]; |
删除表
drop table[];删除表
truncate table[];删除后重新创建