zoukankan      html  css  js  c++  java
  • 初始SQL语句 简单使用

    初始SQL语句 简单使用

    • SQL语言共分为四大类:

      • DQL (Data QueryLanguage )数据查询语言
      • DML(Data manipulation language)数据操纵语言
      • DDL(Data definition language)数据库定义语言
      • DCL(Data Control Language)数据库控制语言
    #DDL数据库定义语言 创建库、创建表  
    #DML数据库操纵语句存数据,删除数据,修改数据,查看  
    #DCL控制权限  # grant/revoke  
    # 库
        # create database 数据库名;  # 创建库
        # show databases; # 查看当前有多少个数据库
        # select database();# 查看当前使用的数据库
        # use 数据库的名字; # 切换到这个数据库(文件夹)下
    # 表操作
        # 查看当前文件夹中有多少张表
            # show tables;
        # 创建表
            # create table student(id int,name char(4));
        # 删除表
            # drop table student;
        # 查看表结构
            # desc 表名;
    # 操作表中的数据
        # 数据的增加
            # insert into student values (1,'gkf');
            # insert into student values (2,'gandan'); 
            # insert into userinfo values (1,'gkf','gkf318'),(2,'gandan','6666'),(3,'goudan','9999');多行添加
        # 数据的查看
            # select * from student;
        # 修改数据
            # update 表 set 字段名=值
            # update student set name = 'goudan';
            # update student set name = 'gandan' where id=2;
        # 删除数据
            # delete from 表名字;
            # delete from student where id=1;
    
    • 初识sql语句 ; 代表一个语句的结束

    #进入mysql客户端
    $mysql
    mysql> select user();  #查看当前用户
    mysql> exit (回车)    # 也可以用q quit退出
    
    # 默认用户登陆之后并没有实际操作的权限
    # 需要使用管理员root用户登陆
    $ mysql -uroot -p   # mysql5.6默认是没有密码的
    #遇到password直接按回车键
    mysql> set password = password('root'); # 给当前数据库设置密码
    
    # 创建账号
    mysql> create user 'gkf'@'192.168.10.%'   IDENTIFIED BY '123';# 指示网段可以连接
    mysql> create user 'gkf'@'192.168.10.5'   # 指示某机器可以连接
    mysql> create user 'gkf'@'%'                    #指示所有机器都可以连接  
    mysql> show grants for 'eva'@'192.168.10.5';查看某个用户的权限 
    # 远程登陆
    $ mysql -uroot -p123 -h 192.168.10.3
    
    # 给账号授权
    mysql> grant all on *.* to 'gkf'@'%';
    mysql> flush privileges;    # 刷新使授权立即生效
    
    # 创建账号并授权
    mysql> grant all on *.* to 'gkf'@'%' identified by '123' 
    
    # 查看表的字段基础信息: desc 表名; 或 describe 表名;
    # 查看编码相关: show variables like '%chara%';
    # 查看所有表:  show tables;  
    # 创建表: create table 表名 (id int,name char(4));
    # 查看表结构:  show create table 表名;#(G可以格式化显示)
    # 查询当前数据库支持的存储引擎: mysql> show engines G; #(G格式化的意思) 
    # 查看当前的默认存储引擎:  show variables like '%engine%'; #(%代表其他内容)
    # 创建表并且指定引擎: create table t3 (id int,name char(4)) engine=memory; #(engine = "指定引擎")
    
    • 简单的增删改查

    1. 操作文件夹(库)
       增:create database db1 charset utf8;
       查:show databases;
       改:alter database db1 charset latin1;
       删除: drop database db1;
    
    2. 操作文件(表)
       先切换到文件夹下:use db1
       增:create table t1(id int,name char);
       查:show tables;
       改:alter table t1 modify name char(3);
          alter table t1 change name name1 char(2);
       删:drop table t1;    
    
    3. 操作文件中的内容(记录)
       增:insert into t1 values(1,'egon1'),(2,'egon2'),(3,'egon3');
       查:select * from t1;
       改:update t1 set name='sb' where id=2;
       删:delete from t1 where id=1;
    
       清空表:
           delete from t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。
           truncate table t1;数据量大,删除速度比上一条快,且直接从零开始,
    
    *auto_increment 表示:自增
    *primary key 表示:约束(不能重复且不能为空);加速查找
    

    数据操作 增 删 改 查

    • 增加 insert

    • insert into 表名 values (数据1...),(数据2...)
      • 所有的在这个表中的字段都需要按照顺序被填写在这里
    • insert into 表名(字段名,字段名...) values (值1,值2),(值1,值2);
      • 所有在字段位置填写了名字的字段和后面的值必须是一一对应
    • insert into 表名(字段名,字段名...) values (值....),(值....),(值....)
      • 所有在字段位置填写了名字的字段和后面的值必须是一一对应
    • value单数与values复数 ,一次性写入一行数据,一次性写入多行数据, 一般全用 values
    • 示列
    表 id,name,age
    insert into t1 value (1,'gkf',23)
    
    insert into t1 values (1,'gkf',23),(2,'gandan',17)
    
    insert into t1(name,age) value ('gkf',23)
    
    insert into t1(name,age) values ('gkf',23),('gandan',17)
    
    #第一个角度
        写入一行内容还是写入多行
        insert into 表名 values (值....)
        insert into 表名 values (值....),(值....),(值....)
        
    #第二个角度
        是把这一行所有的内容都写入
        insert into 表名 values (值....)
        指定字段写入
        insert into 表名(字段1,字段2) values (值1,值2)
    
    #插入查询结果
    insert into 表名(字段1,字段2,字段3…字段n) 
                          select (字段1,字段2,字段3…字段n) from 表2
                          where …;  
    
    • 删除 delete

    • delete from 表 where 条件;
    • 更新 update

    • update 表 set 字段=新的值 where 条件;
    • update mysql.user set password=password(‘123’) where user=’root’ and host=’localhost’;
      • password=password(‘123’)调用的方法,密文存入数据库
    • 查询 select语句

    • select * from 表
    • select 字段,字段.. from 表
    • select distinct 字段,字段.. from 表 # 按照查出来的字段去重
    • select 字段*5 from 表 # 字段数字值 四则运算 显示运算完的结果
    • select 字段 as 新名字,字段 as 新名字 from 表 # 给查出字段取名字
    • select 字段 新名字 from 表 # 给查出字段取名字
    作 者:郭楷丰
    声援博主:如果您觉得文章对您有帮助,可以点击文章右下角 推荐一下。您的鼓励是博主的最大动力!
    自 勉:生活,需要追求;梦想,需要坚持;生命,需要珍惜;但人生的路上,更需要坚强。带着感恩的心启程,学会爱,爱父母,爱自己,爱朋友,爱他人。
  • 相关阅读:
    Spark 集群 任务提交模式
    Spark RDD 宽窄依赖
    Spark 资源调度包 stage 类解析
    堆内内存与堆外内存
    Spark笔记(一)
    scala 语言特性
    Centos7.4 Storm2.0.0 + Zookeeper3.5.5 高可用集群搭建
    fs模块他的作用是(文件夹)
    事件循环机制
    简单的下路由(我们可以在控制器中看到路由参数)
  • 原文地址:https://www.cnblogs.com/guokaifeng/p/11144060.html
Copyright © 2011-2022 走看看