类型 | 说明 |
---|---|
int | 整型(定义整数类型数据) |
float | 单精度浮点,4字节32位,准确到小数点后六位 |
double | 双精度浮点,8字节64位 |
char | 固定长度的字符类型,定义字符类数据 |
varchar | 可变长度的字符类型 |
text | 文本 |
image | 图片 |
decimal (5,2) | 5个有效长度数字,小数点后面有2位,指定长度数组 |
mysql -uroot -p010230 -u 连接数据库的用户名 -p 后面跟的是连接数据库的密码(不能有空格)
show databases; 记住得加上分好结尾,大部分的SQL命令都必须跟上;表示结束
use 数据库名; show tables;
describe [数据库.]表名 或 desc [数据库.]表名 这里执行就像我们在Linux中使用绝对路径和相对路径一样,当你在所在表的库中时,可省略前面的数据库名(相对路径)。 当你需要对其他库中的表进行操作时,就需要加上库名(绝对路径)进行操作。
DDL | 数据定义语言,用于创建数据库对象,如库、表、索引等 |
---|---|
DML | 数据操纵语言,用于对表中的数据进行管理 |
DQL | 数据查询语言,用于从数据表中查找符合条件的数据记录 |
DCL | 数据控制语言,用于设置或者更改数据库用户或角色权限 |
创建数据库 create database 数据库名; 创建数据表 create table 表名(字段1 数据类型,字段2 数据类型,....,[primary key(主键名)]);
field | 字段 |
---|---|
type | 类型 |
not null | 不允许为空 |
default ‘’ | 默认为空 |
primary key | 主键(一般选择没有重复且不为空的字段) |
use 数据库名; drop table 表名; 或 drop table [数据库名.]表名;
drop table 数据库名;
insert into 表名(字段1,字段2[,...]) values(字段1的值,字段2的值,...); 字段中,可使用 password('密码') ,能够使用加密型密码
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];
delete from 表名 [where 条件表达式];
select 字段名1,字段名2[,...] from 表名 [where 条件表达式]; 小技巧: select * from 表名; #显示全部 select 字段1,字段2 from 表名; #显示字段1和字段2 select 字段1 from 表名\G; #以列表形式竖向显示 select * from 表名 info limit 2; #只显示头2行 select * from 表名 info limit 2,3; #显示第2行后的前3行
alter table 旧表名 rename 新表名;
alter table 表名 add address varchar(50) default '地址不详';
alter table 表名 change 旧列名 新列名 数据类型 [unique key]; #change 可修改字段名、数据类型、约束等所有项 唯一键:唯一,但可以为空(空值只能出现一次) 主键包含唯一键的部分属性 唯一键不能完全作为主键
alter table 表名 drop 字段名;
alter table 表名 add 字段名;
创建库和表 create database 数据库名; create table 表名(字段1 数据类型,字段2 数据类型,....,[primary key(主键名)]); 删除库和表 drop table [数据库名.]表名; drop table 数据库名; 修改表名 alter table 旧表名 rename 新表名; 扩展表结构(增加字段) alter table 表名 add address varchar(50) default '地址不详'; 修改字段(列)名,添加唯一键 alter table 表名 change 旧列名 新列名 数据类型 [unique key]; 删除字段、主键 alter table 表名 drop 字段名; 添加字段 alter table 表名 add 字段名;
插入新数据 insert into 表名(字段1,字段2[,...]) values(字段1的值,字段2的值,...); 更新数据 update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式]; 删除数据 delete from 表名 [where 条件表达式];
查询数据记录 select 字段名1,字段名2[,...] from 表名 [where 条件表达式];