MySQL数据库的基本操作

1什么是数据库? dtabase,简称DB 数据库关系系统 DBMS

数据库是存储数据的地方,保证数据的完整性,

MySQL是关系型数据库,每个表之间可以是相关联的!

1数据定义语言DDL

数据定义语言,进行数据库、表的管理等,如create、drop

创建库 创建表,设计表结构的语言

2数据管理语言 DML

数据操作语言,对数据进行增加、修改、删除,如insert、update、delete

我们借助navicat工具,直观操作

安装navicat工具可以留言我发免安装的软件包

数据库的组成

库database,表table,记录,是每一条的数据

现有库,再有表,表里面是记录

我们用sql语言来控制这些,sql语言是结构化查询语言!

安装好mysql,和navicat,建立链接

连接数据库的信息,连接名字随便启

主机名,ip地址,localhost  或者 127.0.0.1

mysql端口号就是3306

mysql用户名初始是root最高权限,密码也是mysql密码,

一般工作是不回给你这个权限的,按照工作需求写

密码也是一样的,

连接好之后就可以在里面做一些操作!!

sql语句DDL

  1. 查看所有数据库

    show databases;
    
  2. 创建数据库

    create database 数据库名 charset=utf8;
    例:
    create database python charset=utf8;
    
  3. 使用数据库

    use 数据库名;
    
  4. 查看当前使用的数据库

    select database();
    
  5. 删除数据库-慎重

    drop database 数据库名;
    例:
    drop database python;

创建表,创建表首先要先设计表结构

drop table if exists 表名:    这个意思是说如果有同名删除这个表,重新创建
create table 表名(
字段名 数据类型 【约束】,
字段名 数据类型 【约束】,
字段名 数据类型 【约束】,
字段名 数据类型 【约束】,
...
字段名 数据类型 【约束】


)

最后一个没有逗号。

常见的数据类型

  • 整数:int,bit
  • 小数:decimal
  • 字符串:varchar,char
  • 日期时间: date, time, datetime
  • 枚举类型(enum)
  • 常见的约束:
    • 主键约束 primary key(列名)  auto_increment  自增
    • 非空约束 not null 
    • 惟一约束 unique 约束名(列名)  不重复
    • 默认约束 default
    • 外键约束 foreign key 约束名(列名) references(列名)
    • constraint 关键字,关联的
    • 联合主键,两个主键可以重复但是要保证唯一性

数据类型:

        数字类型         int 整数

                        float        double  小数

字符串类型:

        char 固定长度        比如 char(10)多了截断,少了用空格补齐

        varchar,可变长度      varchar(10) 多了截断,少了减少  这个用的比较多

        text,长文本类型        给什么是什么,这个是上传文本的

存储中文,一个字两个长度

日期类型:

date 日期类型  yyyy-mm-dd,年月日

datetime   年月日时分秒

MySQL 数据类型 | 菜鸟教程

表结构   desc 表名 

添加一个新的字段                【】可写可不写

alter table 表名 add 字段名  数据类型 【约束】

修改某字段的数据类型

alter table 表名 modify 字段名 新数据类型

修改某字段名

alter table 表明  原字段名  新字段名  数据类型

删除字段 

alter table 表明 drop 字段名

字段是构成表的一个元素

我们可以给每一个字段来设置一个约束

主键  每张表都应该有一个主键(非空,唯一)


  

  • as 关键字可以给表中字段 或者 表名起别名
  • distinct 关键字可以去除重复数据行。

mysql版本5.0.2

DML数据管理语言!

增删改查

insert into 表名 (列名,列名,列名。。。。。。。。。) values(值,值,值。。。。)

insert into values(值,值,值。。。)  添加所有列的值

delete from  表名      清空表数据

delete from  表名  where  条件

update 表明 set

列名 = 值,where  条件

select 列名 列表 from 表名 where 条件

        group by  列名     分组

                having 条件

        order by   asc/desc  列名  排序

        limit  开始数字  ,显示条数

where 条件:
        区间  between   and

列名 between  数值 and 数值

范围  in  /not in/any/all

        列名 in 值列表

模糊查询  like  ‘字符串’

        列名like ‘王%’

通配符:  %任意个任意字符

        _一个任意字符

聚合函数

  1. count(col): 表示求指定列的总行数
  2. max(col): 表示求指定列的最大值
  3. min(col): 表示求指定列的最小值
  4. sum(col): 表示求指定列的和
  5. avg(col): 表示求指定列的平均值

日期函数

now(列名)  year(列名)  month(列名)  day(列名)  time(列名)  datediff(开始时间,结束时间)

数学函数:

ceil(列名) fioor(列名) round(列名)  length(列名)

子查询

select * from students where age > (select avg(age) from students);

例2. 查询学生在班的所有班级名字:

select name from classes where id in (select cls_id from students where cls_id is not null);

例3. 查找年龄最大,身高最高的学生:

select * from students where (age, height) =  (select max(age), max(height) from students);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值