zoukankan      html  css  js  c++  java
  • mysql 的sql 语句

    (一)mysql客户端命令

    管理:

    h help :   查看帮助
    G:格式化查询
    s status:查看数据库的状态信息
     source:导入sql文件
    u use:切换数据库
    ! system:在数据库中使用系统命令
    

    (二)mysqladmin客户端管理

    #查看MySQL进程是否存活 
    [root@db01 ~]# mysqladmin ping mysqld is alive 
    #查看mysql信息 
    [root@db01 ~]# mysqladmin status 
    #关闭mysql进程 
    [root@db01 ~]# mysqladmin shutdown 
    #查看MySQL当前参数
    [root@db01 ~]# mysqladmin variables 
    #库外创建数据库
    [root@db01 ~]# mysqladmin create aaa 
    #库外删除数据库 
    [root@db01 ~]# mysqladmin drop aaa 
    #刷新binlog日志
    [root@db01 ~]# mysqladmin flush-log 
    #修改密码 
    [root@db01 ~]# mysqladmin password '123'
    

    (三)sql语句

    1.DDL 数据定义语言

    开发规范:库名,表名 都要小写 ,要不然会误删除数据的

    1.库

    create(创建)

    查看创建的命令

    mysql> help create user;
    
    语法:
    Syntax: CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name [create_specification] ...
    #为了避免库已存在 报错
    mysql> create database if not exists zhp;
    Query OK, 1 row affected, 1 warning (0.00 sec)
    #规范创建数据库
    mysql> create database if not exists zhp default character set utf8 default collate utf8_general_ci;
    
    

    drop(删除)

    mysql> drop database bb;
    
    

    alter(修改)

    修改字符集

    mysql> alter database zhp charset gbk;
    Query OK, 1 row affected (0.00 sec)
    查看
    mysql> show create database zhp;  
    +----------+-------------------------------------------------------------+
    | Database | Create Database                                             |
    +----------+-------------------------------------------------------------+
    | zhp      | CREATE DATABASE `zhp` /*!40100 DEFAULT CHARACTER SET gbk */ |
    +----------+-------------------------------------------------------------+
    1 row in set (0.00 sec)
    
    

    修改校验规则

    mysql> alter database zhp collate utf8_bin;
    
    

    1572867737952

    2.表

    创建表create

    查看创建表的语句帮助

    mysql> create table tlbb(
        -> aid int primary key auto_increment comment '学号',
        -> sname varchar(10) not null comment'玩家名字',
        -> sage tinyint unsigned comment '玩家等级',
        -> sgender enum('m','f')not null default 'm' comment '玩家性别', 
        -> cometime datetime not null default NOW()comment '时间');
    Query OK, 0 rows affected (0.04 sec)
    
    

    drop(删除表)

    mysql> drop table tlbb;
    
    

    alter(修改表)

    修改表名

    mysql> alter table tlbb rename student;
    
    
    

    增加字段

    mysql> alter table stu add gsb varchar(10);
    
    

    将字段插入到最前面

    mysql> alter table stu add youfeng int first;
    
    

    查看

    mysql> desc student2;
    
    
    

    (四)数据类型

    int:整数 -2^31-2^31-1
    varchar:字符类型(变长)
    char:字符类型(定长)
    tinyint:最小整数-128—-128
    enum:枚举类型   
    datetime:时间类型 年月日时分秒
    
    
    

    约束

    not null:非空
    primary key:主键(唯一,且非空)
    unique key:唯一键(可与为空)
    auto_increment:自增
    unsigned:无符号,和数字结合,就是非负数
    default:默认值
    commennt:注释
    
    

    (五)实例

    student 表

    create table student2( sid int not null primary key auto_increment comment '学号', sname varchar(10) not null comment '学生姓名', sage tinyint unsigned comment '学生年龄', sgender enum('m','f') not null default 'm' comment '学生性别', cometime datetime not null default NOW() comment '入学时间');
    
    

    将字段插入到某个字段后面

    mysql> alter table stu add xmg int after ljk;
    
    

    删除某个字段

    mysql> alter table stu drop ljk;
    
    

    修改字段的属性

    mysql> alter table stu change qls haoda int;
    
    

    修改字段名和属性

    mysql> alter table stu modify qls char(10);
    
    

    (六)DCL数据控制语言

    1.grant

    grant all on *.* to root@'%' identified by '1'; grant all privileges on *.* to pri2@'%' identified by '1'; grant all on *.* to root@'%' identified by '1' with max_user_connections 1;
    
    

    revoke

    mysql> revoke select on *.* from pri1@'%';
    
    

    (七)DML数据操作语言

    1.增

    insert

    #注意:所有值必须一一对应,如果没有就给null 
    mysql> insert into student2 values(null,'qls',18,'m',now()); 
    #注意:只需要给前面的key添加value,前面key值的顺序可以随意,后面value必须对应
    mysql> insert into student2(sname,sage,sgender) values('zls',18,'m');
    mysql> insert into student2(sage,sname,sgender) values(18,'zls','m'); 
    #插入多条数据 mysql> insert into student2(sname,sage,sgender) values('zls',18,'m'),('qls',18,'f');
    
    

    2.改

    update

    mysql> update student2 set sgender='f'; #规范用法 必须接where条件 
    mysql> update student2 set sgender='f' where sid=1; mysql> update student2 set sage=20 where 1=1;
    
    

    3.删

    delete

    # 必须接条件 mysql> delete from student2 where sid=2; mysql> delete from student2 where sid>3 and sid<9;
    
    

    4.查

    mysql> select * from student2 where state=1;
    
    

    使用update代替做伪删除**

    1.添加一个状态列

    mysql> alter table student2 add state enum('1','0') default '1';
    
    

    2.使用update删除

    mysql> update student2 set state='0' where sid=9;
    
    

    3.查询的时候接条件

    mysql> select * from student2 where state=1;
    
    
  • 相关阅读:
    Keil 4 与 J-Link 8 连接配置
    嵌入式之认识内存
    Windows10光驱位硬盘不识别
    无法定位程序输入点ucrtbase.terminate于动态链接库api-ms-win-crt-runtime-l1-1-0.dll上
    博客一夜回到解放前
    电动汽车-电池
    STM32书集选择
    嵌入式—学习嵌入式系统需具备的条件、方法及步骤
    Modbus抄表中应用到CRC8+CRC16+CRC32源码
    USART输出乱码3F,RS485抄表
  • 原文地址:https://www.cnblogs.com/223zhp/p/11905909.html
Copyright © 2011-2022 走看看