原生Mysql的基本使用(二)

MySQL基本SQL操作

1、数据库操作sql基本语句(databases)

1)显示数据库 SHOW DATABASES;

2)创建数据库:需要指定字符集,这里以python_mysql为例,DEFAULT CHARSET utf8 COLLATE utf8_general_ci;设置默认的字符集,可以自己修改

CREATE DATABASE 数据库名称 DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

 3)使用数据库 USE python_mysql(数据库名称) 

4) 显示当前数据库时间  SELECT NOW();

5)显示当前数据库版本 SELECT VERSION();

6)显示创建数据库时候的语句  show create database python_mysql;

7)查看当前使用的数据库 SELECT DATABASE();

8)删除数据库 drop database python_mysql;

2、数据表操作sql基本语句(table)

1)查看表  show tables;

 2)创建表

这里创建表格式  create table 表名(列名 是否为空,是否主键,是否自增长,列名 约束...,列名);

这里以第一个为讲解,创建一个student表,id设为主键,unsigned(选择无符号范围,正整数,根据int约束(0 ~ 4294967295),signed为有符号范围(-2147483648 ~2147483647)),not null表示不为空,主键不能为空, primary key 表示设置成主键,auto_increment 表示自增长,

 3)查看表类型 desc student;

这里我们可以看到对表做的约束,id 作为主键,不为空,自增长,范围无符号,注意创建表的合理性,这里我们的age使用tinyint,年龄一般不会超多255

 3)查看表数据  select * from student;

 4) 增加数据: insert into student values(1,"张三",18,175.5,"男",1);

 5)再次查看数据  select * from student;

6)增加字段 alter table 表名 add 字段名 字段类型;(对表操作都是alert)

 7)修改表的字段

第一种:不修改字段名 alter table 表名 modify 列名 约束类型;

 第二种:修改字段名 alter table student change 旧列名 新列名 约束;

 8)查询 select * from 表名; 

3、数据操作sql基本语句(CRUD) 

1)增加数据:

单行插入:insert into  表名 values (不能为null的值);

对于自增长的默认值主键,我们可以使用0,null,default表示,产生自增长,对于枚举的值,我们可以按照顺序用1,2......表示

insert into  student values (0,"李四",22,188,"男",2,19901222);

insert into  student values (null,"王五",22,188.88,1,2,19901222);

部分插入:insert into 表名(字段名,字段名)values(不可以为null的值)

insert into student (id,name,age,height,gender,class_id)values(default,'喜洋洋',18,180,'男',3);

多行插入:

        insert into student (id,name,age,height,gender,class_id)

        values(default,'喜洋洋',18,180,'男',3),

        (0,'美羊羊',17,175,'女',3),

        (null,'懒洋洋',18,170,'男',2);

2) 修改数据

 全部修改:update 表名 set 列名=值; 

update student set gender=1; 将gender列全部修改成男

条件修改:update 表名 set 列名=值 where (判断条件)age < 18;

update student set gender=2 where age < 18; 将年纪小于18的修改成女

 3)查找数据

查找表内全部数据:select * from 表名

指定条件查找数据:查找年纪大于18的人 select * from 表名 where (判断条件)age>18;

select * from student where age>18;

查询指定列:select 列名,列名 from 表名

        select name,age from student;

对查询的列起别名  select 列名 as 别名 ,列名 as 别名 from 表名

select name as 姓名,age as 年龄 from student;

字段的顺序 谁写前面,先显示谁 select  列名 as 别名, 列名 as 别名,列名 as 别名 from student;

select id as 序号,age as 年龄,name as 姓名 from student;

4)删除数据

物理删除:

        删除整张表(基本不用):delete from 表名

        根据条件删除表:delete from 表名 where (判断条件)id<5 and age<=18;

逻辑删除(伪删除):

定义一个字段,不同的用来表示是否删除

增加一个is_delete 列:alter table student add is_delete int default 0;

 比如说我们像要删除年龄大于等于22岁的数据,我们可以进行伪删除

update student set is_delete=1 where age>=22;

那么我们查询的语句就可以是:

select * from student where is_delete=0;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值