数据库学习(五)

mac2025-01-25  38

auto_increment   字段自动增加

在插入数据的时候,字段会自动生成唯一的序号,序号为整数类型,一般自动增加的属性是给设置pk的字段加的,而且一个表中只能有一个字段加该属性。

--> create table t6(a int primary key auto_increment,b varchar(10)); insert into t6 (b) values('hello'); insert into t6 (b) values('hello'); insert into t6 (b) values('hello'); insert into t6 (a,b) values(10,'hello'); insert into t6 (b) values('hello'); select * from t6;

关于数据库的操作:增删改查

插入数据

插入所有列的数据

yufa1: insert into table_name(列1,列2,。。。。。。列n) values(值。。。。。。。); 语法2: insert into table_name values(值1,值2,......,值n); create table mytest(id int,name varcahr(10),age int); insert into mytest(id,name,age) values(1001,'张三',30); insert into mytest(id,name,age) values(1002,'李四',25); select * from mytest;

插入表中部分列的数据

   b.插入表中部分列的数据           语法:           insert into table_name(列1,列2...) values(值1,值2......)           说明:列是表中的部分列,部分数据的插入列必须写。           -->           insert into mytest(id,name) values(1001,'zs');           insert into mytest(id) values(1);          c.一次插入多条所有列的数据            语法1:            insert into table _name(列1~列n,所有列) values(值1~值n),(值1~值n),(值1~值n),(值1~值n);            语法2:            insert into table_name values(值1~值n),(值1~值n),(值1~值n),(值1~值n);            说明:值1~值n必须是所有列的值,不能少            -->            insert into mytest(id,name,age) values(001,'xz',20),(002,'xl',25),(003,'xw',30),(004,'xh',26);            -->            insert into mytest values(100,'zx',20),(200,'lx',25),(300,'wx',30);              d.一次插入多条部分列的数据            说明:表名后必须写哪几列            -->           insert into mytest(id) values(1000),(2000),(3000);           e.往表中插入查询中的结果              语法:              insert into table_name(f1,f2,f3.....) select f_1,f_2,f_3..... from table_name1;              -->              create table mytest1(id int,name varchar(20));              将mytest表中查询的结果,插入到mytest1中              -->              insert into mytest1(id,name) select id,name from mytest;              -->              insert into mytest1(id,name) select id,age from mytest;              说明:查询出的age对应插入到name列,类型不一致会自动转换              -->将mytest表中id为1001的数据更新其name和age              update mytest set name='zhangsan',age=40 where id=1001;              -->将名字为ls的年龄更新为60              update mytest set age=60 where name='ls';   (2)更新数据操作         1)更新特定的数据         语法:         update table _name set f1=v1,f2=v2... where 条件         说明:f1是列名,v1是更新的新数据值         2)更新所有的数据         语法:update table_name set f1=v1,f2=v2;         说明:update语句如果没有where条件,会更新表中所有的数据         -->更新mytest表中所有的数据,id为1001,name为zs,age为20         update mytest set id = 1001,name='zs',age=20; (3)删除数据操作          1)删除特定的数据             语法:delete from table_name where 条件;             -->删除mytest表中id为1001的数据             insert into mytest values(1002,'ls',30);             insert into mytest values(1003,'ww',10);             delete from mytest where id=1001;          2)删除所有的数据          语法:delete from table_name;          -->删除mytest所有数据;          delete from mytest; (4)查询数据操作         1.单表数据查询 1)简单数据查询x     语法1:select f1,f2,f3.....from table_name;     语法2:select * from table_name;     -->select empno,ename,job,MGR,Hiredate,sal,comm,deptno from t_employee;     -->select * from t_employee;     -->select empno,ename,sal from t_employee;     -->select empn,ename,sal from t_employee;     错误的,列名不能写错                    1.2 distinct避免重复数据的查询       -->查询t_employee表中职位job列的所有数据                          select distinct job from t_employee;      1.3 可以使用四则运算进行数据查询 ( + - * /  %)     -->查询职工表t_employee中每一个员工的年薪          select ename,sal*12 from t_employee;     **说明:给查询出的列重命名                 select f1 [as] other_f1 from table_name; f1表示显示的原列名 other_f1表示显示的新列名,as可以省略        -->select ename,sal*12 as yearsal from t_employee;                     1.4 设置显示格式的数据查询--concat        concat()函数来连接字符串        -->查询职工表t_employee中每一个员工的年薪,年薪的显示格式“员工的年薪为xx”        select concat(ename,'的年薪为:',sal*12) yearsal from t_employee;      -->练习:查询t_employee表中的数据,显示“我是xx,我的生日是xx号”      select concat('我是',ename,'我的生日是',Hiredate,'号')msg from t_employee; 2)条件数据查询 3)排序数据查询 4)限制数据查询 5)统计函数和分组数据查询

 

最新回复(0)