mysql-数据表操作

{}:必须有的选项,|:选择,[]:可选项

1.    数据类型:

 整型:tinyint1个字节)smallint2个字节)mediumint3个字节)int4个字节),bigint8个字节)

 浮点型:floatdouble

 日期:yeartimedatedatetimetimestamp

 字符型:char(定长),varchar(变长),tinytexttextmediumtextlongtextemumset

2.    AUTO_INCREMENT

 自动编号,必须与主键一起使用,默认起始值为1,增量为1

3.创建数据表

 CREATE TABLE [ IF NOT EXISTS]table_name (

       column_namedata_type,

 )

 例子:

 create table tb1(

      id smallint unsigned auto_increment primary key,

  username varchar(20) not null unique key,

  age tinyint unsigned,

  salary float(8,2),

  sex enum(‘1’,’2’,’3’) default ‘3’,

 )

        create table goods_brand(

       id smallint unsigned auto_increment primarykey,

                     brand_name varchar(20) not null

 ) select brand_name from tdb_goods group by brand_name; 

4.      查看数据表

 SHOE TABLES [FROM db_name]

 例子:

 show tables;

 删除数据表

 DROP TABLEname[, ...] [ CASCADE | RESTRICT ]

CASCADE 自动删除依赖于表的对象。(比如视图)。  

  RESTRICT 如果存在依赖对象,则拒绝删除该表。这个是缺省。


5.      修改命令结束符为//

 delimiter //

6.      查看数据表结构

 SHOW COLUMNS FROM tb_name;

 DESC tb_name;

7. 插入记录

 INSERT[INTO] tb_name [(col_na,e,…)] VALUES (val,…)

 例子:

        insert tb1values ('tom',12,4500);

       insert tb1 (username,age) values ('lily',12);

8.      更新列

 添加单列

        ALTER TABLE tbl_name ADD [COLUMN] col_name colum_definition [FIRST|AFTER col_name]

        添加多列

  ALTER TABLE tbl_name ADD [COLUMN] (col_name colum_definition,…)

 删除列

  ALTER TABLE tbl_name DROP [COLUMN] col_name

 例子:

        alter table user add age tinyint unsigned not null default 10 ;

        alter table user drop age;

        alter tableuser drop age,drop password;

9.      修改列定义

 修改数据类型或位置

  ALTER TABLEtbl_name MODIFY [COLUMN] col_name column_definition [FIRST| AFTER col_name]

 修改列名称

  ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST| AFTER col_name]

 例子:

        alter tableuser modify id smallint first;

10.      数据表更名

 RENAME TABLE tbl_name TO new _tbl_name [,tbl_name2 TO new_tbl_name2]…

 ALTER TABLE tbl_nameRENAME [TO|AS] new_tbl_name

 例子:

        Alter table user rename user2;

11.   插入记录:

 INSERT[INTO] tbl_name [(col_name,…)] {VALUES | VALUE} ({expr|DEFAULT}),(…)

 INSERT[INTO] tbl_name SET col_name={expr|DEFAULT},…

 INSERT[INTO] tbl_name [(col_name,…)] SELECT…

 例子:

     给递增字段复制可以是null,或者default

        insert users values (null.’tom’,’123’);

 insert users values (default.’tom’,’123’);

 insert tb1 (username,age) values ('lily',12);

        insert users set username=’tom’,password=’123’;

 insert users (username) select username from test where age>30;

 12. 更新(单表):

  UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={ expr| DEFAULT },[col_name2={ expr|DEFAULT }]…  [WHERE where_condition]

  例子:

   update users set age = age + 5;

   update users set age = age – id,sex=0;

   update users set age = age + 10 where id % 2 = 0;

         多表更新

                例子:

                     Update tdb_goods inner join tdb_good_cates on goods_cate = cate_name set goods_cate =cate_id;

 13.  删除记录(单表):

              DELETE FROM tbl_name [WHERE where_condition]

              例子:

                     delete from users where is =6;

              多表:

              deletet1 from tdb_goods t1 left join(select goods_id,goods_name from tdb_goods groupby goods_name hiving count(goods_name)>=2) t2 on t1.goods_name =t2.goods_name where t1.goods_id > t2.goods_id;

   14. 查找:

  SELECT select_expr[.select_expr…] [

                    FROM table_references

                    [WHERE where_reference]

                    [GROUP BY {col_name|position} [ASC|DESC],…]

                    [HAVING where_condition]

                    [ORDER BY {col_name| expr|position} [ASC|DESC],…]

                    [LIMIT {[offset] row_count | row_count OFFSET offset}]

     ]

  条件表达式可以支持mysql的函数和表达式

              例子:

                     select now();

                     select * from users;

                     select id,username from users;

                     为字段起别名

                     select username as name from users;

                     select sex from users group by sex;

                     使用having时,条件要么为聚合函数,要么字段必须在select中

                     select sex,age from users group by sex having age>35;

   select sex,age from users group by sex having count(id)>2;

  select * from users order by id desc;

  select * from users limit 2;返回2条记录

  select * from users limit 2,3

15.   子查询          

 使用比较运算符的子查询:

  select avg(goods_price) from tdb_goods

  保留2位小数

  select round(avg(goods_price),2) from tdb_goods;

  select goods_id,goods_name,goods_price from tdb_goods where goods_price >=( select round(avg(goods_price),2) from  tdb_goods);

  子查询返回多个结果时可以配合any,some,all使用,any与some等价

  select goods_id,goods_name,goods_price from tdb_goods where goods_price >any (select good_price from tdb_goods  where goods_cate=’笔记本’);

         使用[not] in的子查询       

16.   连接

 join 、left join、right join

 在mysql中,join、inner join、cross join是等价的

 内连接:仅显示符合连接条件的记录

       select goods_id,goods_name,cate_name from tdb_goods inner jointdb_goods_cates on tdb_goods.cate_id =tdb_goods_cates.cate_id

 左外连接:显示左表的全部和右表中符合条件的记录

 右外连接:显示右表中的全部和左表中符合条件的记录

select goods_id,goods_name,cate_name,brand_name from tdb_goods inner jointdb_goods_cates on tdb_goods.cate_id =tdb_goods_cates.cate_id inner jointdb_goods_brand on tdb_goods.brand_id = tdb_goods_brand.id


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值