菜单

MySQL—基础(SQL语句),mysql基础sql语句

2020年1月22日 - 计算机数据

  SQL是Structure Query Language(结构化查询语言)的缩写。

MySQL—基础(SQL语句),mysql基础sql语句

SQL语句:

    DDL(Data Definition
Languages)语句:数据定义语言;操作对象:数据段、数据库、表、列、索引等。

    数据库:

        创建:CREATE DATABASE dbname;

        删除:DROP DATABASE dbname;

      表:

        创建:CREATE TABLE tablename(

                         id INT(5)
auto_increment(自增关键词) PRIMARY KEY,

                         name VARCHAR(20) NOT
NULL);

        删除:DROP TABLE tablename;

        修改:ALTER TABLE tablename RENAME
new_tablename;(修改表名)

           ALTER TABLE tablename MODIFY name
VARCHAR(10);(修改某列的属性)

           ALTER TABLE tablename ADD column_name VARCHAR(20)
[FIRST/(AFTER col_name)](作为插入的位置);(添加一列)

           ALTER TABLE tablename DROP col_name;(删除一列)

           ALTER TABLE tablename CHANGE old_col_name
new_col_name VARCHAR(20) [FIRST/(AFTER col_name)];(修改列名)

           (!CHANGE和MODEFY区别:CHANGE可以修改列名,MODIFY不可以,但是CHANGE两次列名都得写。)

     DML(Data Manipulation
Languages)语句:数据操纵语句;操作对象:表的增删查改

         增:INSERT INTO tablename(col1_name,col2_name)
values(value1,value2);

         删:DELETE FROM tablename [WHERE CONDITION];

         查:SELECT * FROM tablename;

         改:UPDATE tablename set col_name = ‘value’ where id
= 1;

         查询升级版(还会更新):

            ONE:

              SELECT dep,COUNT(*)

              FROM tablename

              GROUP BY dep

              HAVING COUNT(*) >= 2;

            TWO:

              SELECT *

              FROM tablename

              WHERE col_name=’abc’

              LIMIT
0,2(0,2意为:从序号0开始后面的两条数据,eg:2,2意为,从序号1开始后面的两条)

              ORDER BY col_name DESC;

            THREE:

              SELECT *

              FROM tablename

              WHERE dep IN(

                      SELECT dep

                      FROM
tablename_1);(!如果子查询记录数唯一,IN可以用“=”代替。)

            FOUR:

              SELECT dep FROM tablename

              UNION / (UNION ALL)

              SELECT dep FROM tablename_2

         知识点:表的连接查询。

             WITH ROLLUP:对分类聚合的结果再汇总。

             HAVING和WHERE的区别:WHERE是聚合前进行条件筛选,HAVING是聚合后进行条件筛选,能用WHERE时优先使用WHERE这样对查询可以

                          做到一定的优化。

             UNION和UNION ALL的区别:UNION是将UNION
ALL后的结果进行一次DISTINCT,去除重复记录后的结果。

     DCL(Data Control
Languages)语句:数据控制语言(开发人员很少使用);操作对象:数据许可、访问级别

         授权:GRANT SELECT,INSERT ON tablename.* TO
‘Z1’@’localhost’ IDENTIFY BY ‘123’;

         收回:REVOKE INSERT ON tablename.* FROM
‘Z1’@’localhost’;

        知识点:元数据,为数据的数据,如表名列名等表的各种属性名称。

            information_schema数据库就是用来记录MySQL中的元数据信息,此数据库是一个虚拟的数据库,物理上并不存在相关的目录和文件,全部为视图。

            视图:

               SCHEMATA:所有数据库信息。

               TABLES:数据库中的表信息

               COLUMNS:表中的列信息

               STATISTICS:表索引的信息

     

           

SQL语句:
DDL(Data Definition
Languages)语句:数据定义语言;操作对象:数据段、数据库、表、列、索…

  SQL主要可以分为三个类别:

  1.DDL(Data Definition
Languages)语句:数据定义语言,这些语句定义了不同的数据段、数据库、表、列、索引等数据库对象。常用的关键字有:
create 、drop、alter等。

  2.DML(Data Manipulation
Language)语句:数据库操纵语言,用于添加,删除,更新和查询数据库,检查数据完整性。常用的语句关键字:insert
、delete 、 update和select等。

  3.DCL(Data Control
Language)语句:数据库控制语言,用于控制不同的数据段直接的许可和访问级别的语句。这些语句定义了数据库,表,字段,用户的访问权限和安全级别。主要的关键字包括:grant、revoke等。

  

  DDL语句:

  DDL是数据库定义语言的缩写,是对数据库内部的对象进行创建、删除、修改等操作的语言。

  1).创建数据库:CREATE DATABASE dbname;

  2).查看数据库:SHOW DATABASES;

  3).选择要操作的数据:USE dbname;

  4).查看所有数据表:SHOW TABLES;

  5).删除数据库:DROP DATABAES dbname;

  6).创建表:CREATE TABLE tablename;

  7).查看表的定义:DESC tablename / SHOW CREATE TABLE tablename;

  8).删除表:DROP TABLE tablename;

  9).修改表类型:
MODIFY,增加表字段:ADD,删除表字段:DROP,字段改名:CHANGE

    注意:change 和 modify 都可以修改表的定义,不同的是 change
后面需要写两次列名,不方便,但是 change 的优点是可以修改列名称,modify
则不能。

  DML语句:

  DML是指对数据库中表记录的操作,主要包括了插入,更新,删除,查询等开发人员日常使用最频繁的操作。

  1.插入记录:INSERT INTO tablename (字段1,字段2,….)
VALUES(value1,value2,…);

  2.更新记录:UPDATE tablename SET 字段1=value1,字段2=value2,….
[WHERE CONDITION];

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图