字段数据类型:
bigint:整数型,正负2的63次方 正负20多个亿 十位以上使用biggint
int:整数型,2的31次方,十位以内
char:字符串,长度不可变,读取速度更快。比如设定长度为10,实际字符占用长度为4,多余空间不会释放,实际占用空间还是10,更占空间。
varchar:字符串,长度人()变,比如长度为10,实际占用长度为4,会将多余空间释放,更节约空间。
date:表示日期,只能填入日期格式内容,需要加引号
float:表示的是浮点数,填入的值可以带小数点
int(3) 最大显示宽度,不代表字符所占宽度为3,int类型类型默认占11位
char(5) 表示字符最大宽度
3.约束
primary key:主建约束,确保数据的唯一性,且值不能为空
foreign key:外键约束,确保数据的完整性
not null:非空约束,当某一行其他字段有数据时,该字段必须得写入数据
default:默认值约束如果有自定义值以自定义为主,没有自定义就使用默认值
auto_increment:自增长约束,作用在主键上面,以1为单位增加
查看表==》show tables;
查看表结构
desc student==》查看表结构
[img=620,0]C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\bc75bd0550924ef2823203037e033bc0\{m%v[j3y~l6hb6w2fhg_073.png[/img]
删除表
drop table student==》删除表
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\80bc0679b77145edae294f06d1365d83\wv2uoi9`8mx(1nwg~q(cee9.png
修改表名
alter table test_01 rename test_002==》修改表名test_01为test_02;
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\5417346a147045be8e218e94c9790726\3%4u696je5es28b%s7crthv.png
添加表字段:
1.添加单个表字段
alter table student add int not null;
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\ad21af2c6dd5412395d105556cc6773f\k~]j@zm4c6jw%99$k(q52y9.png
2.添加多个表字段
1.alter table student add(aa int not null,bb char(10));
使用一个字段add加(),括号中写多个字段,字段之间用逗号隔开。
2.alter table student add ccint,add dd char;
一个字段使用一个add,每个add之间使用逗号隔开
[img=620,0]C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\5144bd64e4e24c339d475c2538911b5c\bf~o[ssabe_2ql`}47er$no.png[/img]
3.添加字段到第一位。
alter table student add kk char(10)fiest;
添加一个字段KK并放在首位
[img=620,0]C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\ab708361c911465491b1189e042eb7f5\frnp@%h`ct1rw$3[]qo[[]i.png[/img]
4.指定添加到某个字段后面
alter table student add zz char(10) after age;
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\a534c5498e90460fa967c49017889d85\9y}rbyjt2%k2t$7ici]sr01.png
5.删除表字段drop
1.删除单个字段
alter table student drop KK
2.同时删除多个字段
alter table student drop kk,drop zz;
6.修改表字段:change
1.修改表字段名字
alter table student change id idauto_increment
个字段添加id,添加自增约束,自增约束需要作用在主键上,一个表只能有一个主键
2.添加自增约束:
alter table student change id id int suto_increment
3.去掉自增约束
alter table student change id id int not null;
4.删除主键约束
如果主键上有自增约束,需要先取消自增约束,在删除主键
自增约束作用于主键上,一个表中
alter table student drop primary key;删除主键前需要去掉自增约束。
对数据表的操作:增删改查
增:insert into
1.单条数据的写入,所有字段全部写入数据
insert into student(sid字段,name,age,sex)values(1,’xiaocheng‘,21,1)
insert into student value(1,’xiaocheng‘,23,1)==》所有字段都写入数据时,可以这样表达
2.部分字段写入数据:
insert into student(sid,name)values(1,’xiaocheng‘)
只针对部分字段写入数据,其他字段用null填充
3.同时写入多条数据:
改:update
1.tudent set age=20 where name=‘小王‘;
将小王的年龄修改为20
2.update student set age=20
将所有的年龄值修改为20
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\32a3ca811ac847138f77aa9daac507a4\clipboard.png
删:delete from
1.delete from student where sid=6;
删除表中的sid=6的整行数据
2.delete from student;
删除student列表所有数据。
drop: drop table+表名
删除数据和表结构,连同整个表都删除
delete:delete from+表名
删除表数据,不删除表和表结构,删除的数据可以回滚,还保留原本的空白页
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\c20203300e0e4faa9888b65c35da18d7\~q`aki9fbe`7$dnxoo3]61a.png
truncate:truncate+表名
删除表数据,删除的数据不可回滚。所有数据都被清楚重新写入数据从1 开始
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\8afde13eb6314922982cb5d5fa3512ac\9z3rhd1zt7}qzww@hol0(mu.png
where子句:
被成为条件子句,用于筛选查询出来的数据,where指定的条件语句可以使用基本的算术,关系和逻辑运算,比如:>,<,and,or等,where子句时在sql语句中海一个重要的关键字,基本每一条sql语句都离不开。
查:select * from student;==》查询表里所有字段,*表示所有。
1.select sid,name from student;
查询student表中所有的数据
2.select sid,name from student
查询student表中sid,和name字段的所有数据
查询名字叫xiaochneg的学生id号
select sid from student where name='xiaocheng'
年纪大于25岁的人名
select name from student where age>25
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\a9612610fb124dd8a5e83b0985a3f312\s5z]8in0}3`e~8utwuf0qhy.png
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\608bd692495148ee8f29901a98b984b9\$4ij%`4y3}7${]psd3@gc]j.png
and 和 or:满足多条件情况
and:且,表示同时满足多个条件
select id from stu where sex=1 and name='张三'
or: 或,表示满足其一即可
select name from student where age=40 or age=30
[img=620,0]C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\d16cce0dc1e0406fb9e511a413f3bde9\{)sbk[a3t{jta0@v83%woxr.png[/img]
between and:一个整数取值范围
select * from stu where age between 23 and 30
查询年龄为23到30的所有人信息
C:\Users\Administrator\AppData\Local\YNote\data\yd.60dc942798a944e4b\d0bfbf3682414f52a5a379bf6b3589d9\y3qbdogha${72()pg)~0_4h.png
in:它限制的是一个集合,只要字段的值在集合中就符合条件,not in 不在集合中
select * from stu where age in (23,26,31,47)==》在集合中就符合查找条件
select * from stu where age not in (23,26,31,47)==》不在集合中就符合查找条件
|
|