MySQL的基本操作(2)
表内的操作:
增:
insert into <tablename> (ID,NAME,AGE) Values (1,'zhangsan',18);
insert into <tablename> (name,age) values ('lisi',20);
删:
删除符合条件的内容:
delete from <tablename> where 条件;
删除全部内容:
delete from <tablename>;
清空表格:
truncate <tablename>;
改:
update <tablename> set [属性名]=[属性值] where 条件;
查:
select [字段名] from <tablename>;
复制表格:
方法一:创建新表并将原表的数据复制到新表中,原表中的字段属性不会复制(不建议使用)
create table <new_tablename> select * from <old_tablename>;
方法二:创建新表并将原表的字段属性复制到新表(不复制数据):
create table <new_tablename> like <old_tablename>;
将原表的数据复制到新表:
insert into <new_tablename> select * from <old_tablename>;
MySQl中的编码和数据类型:
更改表的编码格式:
alter table <tablename> charset=utf8;
查看表的编码:
show create table <tablename>;
更改表内字段名的编码:
alter table <tablename> modify [字段名] charset utf8;
数据类型:
整型:
tinyint; # 一个字节八个二进制位表示
# 有符号型:最高位为1表示负数 -128-127
# 无符号型:0-255
tinyint;
smallint;
mediumint;
int / integer;
bigint;
tinyint unsigned; # 无符号int型
tinyint sign; # 有符号int型
浮点型:
float;
double;
字符串类型(长度):
1.char(0-255):
2.varchar(0-65535)
3.TEXT(0-65535):存放大量文字,如博客等。
4.BLOB(0-65535):存放非文字信息。
5.longtext
# char与varchar的区别:
char[5];占用5个字节,不够5个字节自动用空格补全(5个字节)。
varchar[5];占用5个字节,不自动补齐,会保存字符串和实际占用的字节数。
如果字符串的结尾为空格:
char 会保留空格
varchar 删除结尾的空格
# 长度超出规定的长度,报错!
枚举 enum:
enum:优点:
1.限制可选值
2.节省空间
3.运行效率高
例:
create table <tablename>(name int,
sex enum('男','女'));
集合 set:
提供选项,必须使用所拥有的选项。(一般很少使用)
时间类型:
date (1000-01-01~9999-12-31)
datetime 以字符串的方式写入,格式:1999-01-01 00:00:00 1999/01/01 00:00:00
time(-838:59:59~838:59:59)
year(1901~2155)
timestamp(1970-01-01 08:00:01~2038-01-19 11:14:07)
布尔型:
True : 1 和 tinyint相同
False: 0
列的属性:
NULL:可以为空
NOT NULL:不能为空
default:默认值
auto_increment :自增(一般与主键一起使用)
primary key :主键(全表唯一的标识)不能为空也不能重复
unique:在整个表中该值只能为唯一的值,例如:手机号
comment:注释