sql语法

语法

同样以“;”结尾
数据库不区分大小写

注释

使用单行注释 “-- ”两个横杆,一个空格
也可以采用“##”注释
多行注释采用“/**/”

sql分类

   ddl:操作数据库、表、列的比如create,drop,alert,retrieve
        简而言之就是CRUD(create,retrieve,update,delete)以及使用数据库
   dql:查询表中的数据
   DML:增删表中的数据
   dcl:授权

四个基本数据库

information_schema
mysql:
performance:性能调试
test

数据库创建

列如:show create database mysql;
创建数据库:create database db1(这个是数据库名字)
同时数据库的名字是唯一的所以要执行判断
列如:create database if not exists da2;就是先判断在创建db2
这样创建可以指定它的字符集,以gbk为列
列如:create databese db character set gbk;

数据库修改

alter:修改
eg:alter database utf-8;
drop:删除
eg: drop database db4;
显示数据库名称:show database;
查询在使用的数据库
eg: select dababase ();
使用数据库:
use 数据库名称;

对于表的操作

同样有CRUD
eg: show database;
表的创建:create table 表名(列名 字符类型,列名 字符类型);
不同于C的类型,他的类型为:int,float,double,datatime,timestamp(时间戳),varchar()字符串类型,同时这个要指定最大字符, year,time等等。

表的创建、复制、修改、

    eg:
    create table student(
        id int,
        varchar(32) name,
        age int,f
        score double(4,1)
        );

表的复制

    eg:
    create table 表名 like 被复制的表名;

表的修改:

    eg:

修改表名

    eg:
    alter table 表名 rename to 新的表名;

修改表的字符集:

    eg:
    alter table 表名 character set 字符集的名称;

添加一列

    eg:
    alter table 表名 add 列名 数据类型;

修改表的名称和类型

    alter table 表名 change 列名 新的列 新的数据类型;
    alter table 表名 modify 列名 新的数据类型;

列的删除:

    eg:drop table 表名 drop 列名;

添加数据

intsert into 表名(列1,列2,列3) values(值1,值2,值3);
如果不添加列名的话会为所有的列添加数据

删除数据

    eg:
    delete from 表名 [where 条件];
    表的删除delete from;整个表都没了
    先删除,再创建,TRUNCATE TABLE 表名;

修改数据

    update 表名 set 列名 = 值, 列名 =值,where 列名;
    update 表名 set 列名 = 值, 列名 =值,if 条件;

DQL查询:

            select * from 表名;
            语法:
            select
                    字段列表
            from
                    表名列表
            where
                    条件列表
            groub by
                    分组字段
            having
                    分组之后的条件
            order by
                    排序
            linmit
                    分页限定

基础查询:

    select * 字段列表  
    去除重复的结果集:
    select distinct 表 from 表名; 要记录查询结果完全一样
    select name,mathenglish,math + english FROM sthdent;这一条语句的意思是求数学加上英语的成绩之和
    这个计算过程中null一旦参与运算的话结果为null,所以要进行判断,
    eg:select name,math,english,math + ifnull(english,0) from student;
    eg:
    select name,math,english,math + ifnull(english,0) as 总分 from student;

sql运算符:

       and 或&&与,sql中用and比较多
       or 或|| 或
       not 或!非
       eg:该语句的意思式20-30之间的
       select * from student where age between 20 and 30;
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值