Mysql
一些基本操作
创建数据库的时候指定字符集,校对规则:
- create database 数据库的名字 character set 字符集
- create database 数据库的名字 character set 字符集 collate 校对规则
查看数据库定义的语句:
- show create database 数据库的名字
修改数据的字符集:
- alter database 数据库的名字 character set 字符集
查看一下当前正在使用的数据库:
- select databse();
创建表:
- create table 表名( 列名 列的类型 约束, 列名2 列的类型 约束, )
查看所有表:
- show tables;
查看表的定义:
- show create table 表名;
查看表的结构:
- desc 表名;
添加列:
- alter table 表名 add 列名 列的类型 列的约束;
修改列:
- alter table 表名 modify 列名 列的类型;
修改列名:
- alter table 表名 change 列名 新列名 列的类型;
删除列:
- alter table 表名 drop 列名;
修改表名:
- rename table 表名 to 新表名
rename table 表名 to 新表名:
- alter table 表名 character set 字符集
java跟sql类型对比
java | sql |
---|---|
int | int |
char/string | char/varchar |
double | double |
float | float |
boolean | boolean |
date | date:YYYY-MM-DD time:hh:mm:ss datetime:YYYY–MM-DD hh:mm:ss 默认值是null timestamp:YYYY-MM-DD hh:mm:ss 默认使用当前时间 |
text:主要用来存放文本 | |
blob:存放的是二进制 |
SQL分类
- DDL:数据库的定义,与数据库/表结构create,drop,alter
- DML:数据操纵语言,操作表结构insert,update,delete
- DCL:数据控制语言,设置用户的访问权限,安全
- DQL:数据查询语言,select,from,where
delete 删除数据和 truncate删除数据有什么差别
- delete:DML,一条一条删除表中的数据
- truncate:DDL,先删除表再重建表 truncate 表名
如果数据比较少,delete比较高效,如果数据比较多,truncate比较高效
sql语句的编写顺序跟执行顺序
- 编写顺序:S-F-W-G-H-O : select-from-where-group by-having-order by
- 执行顺序:F-W-G-H-S-O: