创建表
create table 表名(
字段名 类型(长度) 约束,
字段名 类型(长度) 约束
);
Java MYSQL
int int
float float
double double
char/String char/varchar(char固定长度字符串,varchar可变长度的字符串)
Date date,time,datetime,timestamp
文件类型 BLOB、TEXT TEXT指的是文本文件 BLOB二进制文件
* Oracle的文件类型:BLOB CLOB
约束:
单表约束:
* 主键约束:primary key
* 唯一约束:unique
* 非空约束:not null
创建一个分类表:
分类ID int类型主键自动增长
分类名称 字符串类型 长度20
create table category(
cid intprimary key auto_increment,
cnamevarchar(20)
);
注意:建表之前一定先选择数据库.
查看表
查看数据库中的所有表:show tables;
查看表结构:desc 表名;
删除表
drop table 表名;
修改表
alter table 表名 add 列名 类型(长度) 约束; --修改表添加列.
alter table 表名 modify 列名 类型(长度) 约束; --修改表修改列的类型长度及约束.
alter table 表名 change 旧列名 新列名 类型(长度) 约束; --修改表修改列名.
alter table 表名 drop 列名; --修改表删除列.
rename table 表名 to 新表名; --修改表名
alter table 表名 character set 字符集; --修改表的字符集
使用SQL完成对表中记录的CRUD的操作
插入记录
语法:
* insert into 表 (列名1,列名2,列名3..) values (值1,值2,值3..); -- 向表中插入某些列
* insert into 表 values (值1,值2,值3..); --向表中插入所有列
注意:
* 1.列名数与values后面的值的个数相等
* 2.列的顺序与插入的值得顺序一致
* 3.列名的类型与插入的值要一致.
* 4.插入值得时候不能超过最大长度.
* 5.值如果是字符串或者日期需要加’’.
cmd下插入中文的乱码的解决:
* 修改mysql.ini文件.
* 将[mysql]下面的字符集改为gbk
* 重启mysql服务.services.msc
修改记录
语法:
* update 表名 set 字段名=值,字段名=值 [where 条件];
注意:
* 1.列名的类型与修改的值要一致.
* 2.修改值得时候不能超过最大长度.
* 3.值如果是字符串或者日期需要加’’.
删除记录
语法:
* delete from 表名 [where 条件];
attention:
删除表中所有记录使用delete from 表名; 还是用truncate table 表名;
* 删除方式:delete 一条一条删除. 而truncate 直接将表删除,重新建表.
* 事务控制DML,而delete属于DML.如果在一个事务中,delete数据,这些数据可以找回.truncate删除的数据找不回来.