人工智能学习之MySQL基础dml ddl dql

数据库等价于数据仓库 但是数据仓库不等价于数据库
mysql要安装在本地所以为c/s架构 客户端服务器
        页游 b/s 浏览器付服务器
关系型数据库sql rdbms   与非关系型数据库2种
sql 结构化的查询语言,关系型数据都要遵守规范   规范(破通话) 特点(方言)
数据库与数据表 (行列表格的形式进行储存)
连接方式:    
    命令行方式: mysql -h数据库服务端ip -P数据库服务的端口 -u用户名 -p密码
        -p后直接回车 可以隐藏式输入密码    
        mysql -u -p  只可连接本地 
    第三方软件连接 ip 端口号 用户名 密码
SQL 快速执行的快捷键 ctrl 回车
每句结束后记得写;
库,表,表数据的增删改查
DDL:数据定义语言 定义数据库 表 列&
DML:数据操作语言 数据库表记录的&
DQL!!!!! 数据库查询语言&
DCL:数据控制语言 定义数据库的访问权限核安全级别 创建用户

语法:
    一条SQL可以单行或多行书写;分号结尾
    不区分大小写
    注释/* */ --  #
    ctrl / 注释
    ctrl alt l 格式化

ddl 操作:
创建数据库
    create database 数据库名称;
    create database IF NOT exists 数据库名称 charset="utf8"
查看所有数据库:
    show databases;
使用某个数据库:  切换数据库
    ues 数据库命;
删除数据库 一般不删除:
    drop database 数据库名;
查看正在使用的数据库:
    select database();
创建表:    create table 表名 (
    字段1  类型 [约束,可有没有 ]  cnmment '字段注释在左侧栏能看到'    ,    
    字段2  类型 [ ]  cnmment '字段注释在左侧栏能看到'    
                )comment '表注释';
删除表:
    drop table 表名;
查看所有的表:
    shou tables;    
查看表结构
    desc 表名;
重命名表格:
    rename table 旧表名 to 新表明;

接下来就是表内啦:操作字段
给表增加一个新的字段:
    alter table 表名 add 新字段名 类型;
若增加的新字段名是关键字名:
    在新字段名上写上 `` 上个点
    alter table 表名 add `新字段名` 类型;
修改字段名:
    alter table 表名 change 旧字段名 新字段名 类型;
删除字段:
    alter table 表明 drop 字段名;


sql 的数据类型:
    varchar(20) 动态的 不到20 的话不占20  
    char(20) 不到20 直接占20
    decimal(5,2) 表示共存5 小数点后保存2

ddl 数据约束
     字段类型后面的[约束条件]

主键 primary key  唯一 且不为空 每个表应该有一个主键 且每个表只能有一个主键
非空    not null (写到修饰字段后面)   修饰字段不能为空 如果填写空就报错了   如果输入的是""空字符串可以成功
唯一     unique 设置的唯一约束 字段值不能重复
默认值  :  default  当我们没有传入数据时自动给我们设置好的值   字段后面写 default" "  类似cnmment""


删除主键 alter table 表名 drop primary key 就可以删除主键了


自增关键字 只修饰键   与 整形    
    creat table 表名(
        id int primary key aut_increment,)
    用法:我们向自增字段添加null ,0,不添加数据,都会触发增
        主键自增字段可以插入指定的值,不能重复
        主键自增的计算规则是当前列的最大基础上+1

    使用delete from 表名;不会删除自增最后的结果   
    使用truncate table 表名 删除的会重置主键的自增序列
dml 操作:
表内数据的插入:    
    insert into 表名 value(按字段顺序依次填写中间用逗号隔开,且类型相同),(),();  k可也多个用逗号隔开
    选定字段插入值
    insert into 表名(字段名1,字段名2) value(只有数字不用引号),();

如果要插入空值 可以不插入此字段 也可以写null

更新表记录:
    # 更新所有行 
    update 表明 set 修改方式       eg set age = 18;  将所有的年龄变为18
    # 根据条件修改
    update 表名 set 需修改方式 where 修改范围;   例如 修改范围 address = ""
删除表记录:
    ddl 密码删除时drop  除此以外全是delete
    # 条件删除
    delete from 表名 where 删除范围;
     # 无条件删除   也就是删除整张表中的数据结构还在
    delete from 表名;
    使用delete from 表名;不会删除自增最后的结果   
    使用truncate table 表名 删除的会重置主键的自增序列

dql 数据查询语言  :

    简单查询:
        select * form 表名;      *为所有字段
        
     查询指定字段
        select 要返回的字段.1  字段2 ... form 表名;
        select *from 表名; 后修改*为字段会有提示

    查询指定字段并且起别名:          其中as 可以省略
        select 字段 as"小明", 字段  as "小明" from 表名;  
    
    
    条件查询:
        select * form 表名 where 条件;
    筛选条件 之 比较查询
    < > = <=>= ! =
        select* from 表名 where  字段>xxx;
    筛选条件之 连续范围查询:  between  值1 and 值 2 包左包右
        select* from 表名 where  字段  between 值1 and 值2;
    筛选条件之 不连续范围查询:
        select* from 表名 where  字段 in (值1,值2...) 判断字段内是否有 20  30 的 有则留\not in 也可以

    条件查询之 模糊查询:
        where 字段名 like 规则;            
        规则1: %  代表任意多个字符        '%像%' 字符中有像
        规则2:  _   代表一个任意字符        '像__'  像开头的3个字符
                        '像%'像开头的
    条件查询之非空查询:    
        
        空字段不能使用比较运输 进行筛序,帅选不出来
        得用is null       判断是 空则保留      is not  null
        where 字段名 is null;
          where 字段名    is not  null    
    条件查询之逻辑查询:
        and :逻辑与 
        or 
        not    !=   not 后条件最好加一个括号
        

注意字符串用单引号不会报警告!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值