mysql数据类型
age tinyint unsigned
score double(4,1) 四代表整体长度 一代表小数长度
varchar会根据你存储字符串的长度进行变化,varchar的性能会比char的性能低,因为他会计算长度,所以在知道长度后建议使用char类型
这里我们举个例子:
创建一个用户名,长度不超过50位
用户名 username varchar(50) 性别 gender char(1)这里varchar的性能会比char的性能低,因为varchar需要计算你输入的长度。
注意:timestamp最长表达到2038年
练习:
更具需求创建表(设计合理到数据类型)
create table emp( id int comment '员工编号', workno varchar(10) comment '员工工号', name varchar(10) comment '员工姓名', gender char(1) comment '性别', age tinyint unsigned comment '年龄', idcard char(18) comment '身份证号', entrydata date comment '入职时间' )comment '员工表';
ddl表——修改
1.添加字段
alter table 表名 add 字段名 类型(长度)comment‘注释”;
alter table emp add text int comment ‘注释’;
desc emp;
2.修改字段
修改指定数据的类型
alter table 表名 modify 字段名 新数据类型(长度)在一些数据库中可能不支持
ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ...); 上边这种方法在修改表结构的时候可能更长用
alter table emp modify text char(10); desc emp;
修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型(长度)comment’注释‘;
alter table emp change text text2 varchar(10) comment '这是一个测试'; desc emp;
删除字段
alter table 表名 drop 字段名;
修改表名
drop table(if exists)表名;
ddl表操作——删除
drop table(if exists)表名;
删除指定表,并重新创建该表(创建了一个相同对结构)为啥删除,就是删除数据,重新生成的表只有表头
truncate table 表名;
dml语句
dml介绍:
是对数据库中表的数据记录进行增删改操作
insert 给表中添加数据
1.给指定字段添加数据
insert into 表名 (字段名1,字段名2…)values(值1,值2…);
insert into emp2(id, workno, name, gender, age, idcard, entrydata) values (1,'001','xiaobai','男',18,'612771200307311566','2023-4-11'); select * from emp2;
注意:value和字段名是一一对应的;
2.给全部字段添加数据
insert 表名 values (值1,值2);
3.批量添加数据
为当前表中的指定字段进行赋值:
insert into 表名 (字段名1,字段名2...)values(值1,值2...),(值1,值2....),(值1,值2....);
为当前表中的所有字段进行赋值: insert into 表名 values(值1,值2…),(值1,值2…),(值1,值2):
insert into emp2 values (1,'001','xiaobai','男',18,'612771200307311566','2023-4-13'),(2,'002','xiaowang','男',18,'612771200307311567','2023-4-15');
注意:插入数据时,指定的字段顺序需要与值的顺序是一一对应的。字符串和日期型数据应该包含在引号中。插入的数据大小,应该在字段的规定范围内。
updata 修改数据
updata 表名 set 字段名1 =值1,字段名2 = 值2,…[where 条件];注意:不加where表示修改这个字段的全部数据。
update emp2 set name = 'xiaohei' where id = 1;
delete 删除数据
delete from 表名[where条件]
注意:
delete语句条件可以有也可以没有,如果没有的话就会删除整张表的所有数据;
delete语句不能删除某一个字段的值(可以使用update置为null)