语法:
INSERT INTO 表名[(列名[,列名]...)]VALUES(值[,值]...);
注意事项:
插入值类型必须与对应列的数据类型一致
数据不能超出长度
插入值得为之必须与列名顺序一致
字符和日期数据要放在单引号中
插入空值使用null
如果不指定插入哪一列, 就是插入所有列
中文数据
由于默认码表是utf8, 而cmd.exe的码表是gbk, 在插入中文数据的时候会报错, 所以我们需要修改客户端码表
先查看系统变量: SHOWVARIABLES LIKE 'character%';
修改客户端码表: SETcharacter_set_client=gbk;
这样就解决了中文插入的问题, 但在查询数据的时候仍然显示为乱码, 这是因为mysql向cmd传输数据的时候使用的是utf8
修改输出数据的码表: SETcharacter_set_results=gbk
删除
语法
UPDATE 表名 SET 列名=值[,列名=值]...[WHERE条件语句];
注意事项
WHERE子句选择满足条件的行进行更新, 如果不写, 则更新所有行
语法
DELETE FROM 表名 [where 条件语句]
注意事项
如果不加where子句, 将删除表中所有记录
delete只能用作删除行, 不能删除某一列的值, 需要用update
在delete和update的时候需要注意表与表之间的关联关系
删除表中所有数据可以使用: TRANCATE 表名, 这种方式会删除旧表重新创建, 在数据较多的时候使用
备份恢复数据库
备份数据库
输入quit退出mysql, 在cmd.exe中输入:
mysqldump –u用户名 –p密码 数据库名 > 文件名
恢复数据库
进入mysql.exe之后, 使用数据库之后
source 文件名
主键约束 primary key
通常我们在设计表的时候需要给每一条记录一个独有的标识, 我们就用主键来约束这个标识.
primary key用来标识一个字段, 这个字段是非空且唯一的.
创建表时设置主键
create table test2(
id int primary key,
name varchar(20)
);
删除主键
alter table test2 dropprimary key;
在制定列上添加主键
alter table test2 changeid id int primary key;
alter table test2 addprimary key(id);
设置主键自动增长
create table test3(
id int primary key auto_increment,
name varchar(20)
);
删除自增长
alter table test3 changeid id int;
设置自增长
alter table test3 changeid id int auto_increment;
UUID主键
128位的2进制, 32位16进制加上4个-
java.util.UUID.randomUUID().toString()