一、SQL的分类

  • DDL(Data Definition Language):数据定义语言,用来操作数据库对象:库、表、列等;
  • DML(Data Manipulation Language):数据操作语言,用来增删改数据库中的数据;
  • DCL(Data Control Language):数据控制语言,用来设置访问权限和安全级别;
  • DQL(Data Query Language):数据查询语言,用来查询数据库中的数据。

二、MySQL中DDL常用命令

    1、操作数据库

    2、操作数据库表

    3、常用的字段数据类型:

    

    4、补充SQL中char、varchar、nchar、nvarchar的区别

  • 字符中,英文字符只需要一个字节存储,汉字需要两个字节存储。英文与汉字同时存在时容易造成混乱,
  • Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。
  • nchar、nvarchar它存储Unicode字符,即所有的字符都用两个字节表示并存储。所以nchar、nvarchar长度是在1到4000之间,最多存储4000个字符。
  • char、varchar它存储非Unicode字符,即英文字符只需要一个字节存储,汉字需要两个字节存储。所以最多存储8000个英文,4000个汉字。
  • 可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。  

   

  5、补充SQL中char(n)、varchar(n)的区别

  • char(n):固定长度字符串类型,n 必须是一个介于 1 和 8,000 之间的数值
    • 例如char (10),它是定长的,当你输入的字符长度小于10时,它会再后面补空值,保证存储字符串长度为10。当你输入的字符大于10时,会报错。取数据的时候,char类型的要用trim()去掉多余的空格,而varchar是不需要的。
  • varchar(n):可变长度字符串类型,n 必须是一个介于 1 和 8,000 之间的数值。
    • 例如varchar(10);表示最多存储10个字符,英文或汉字都行。特别说明是10个字符或者10个汉字。有人认为汉字占2位,只能存储5个汉字,但是实际测试证明这里的10是指字符数量,如果是10个汉字,则是存储了20位字节,命令不会报错,因为varchar是可变长度。
    • 可变的意思表示当你输入的字符小于10时,它不会在后面补空值。假如输入3个字符,则他存储长度为3,超过10个字符则报错。

三、MySQL之DML常用命令

    DML是对数据库表中的数据进行增、删、改的操作,即添加表中的数据,删除表中的数据,修改表中的数据。MySQL的DML命令主要下面三个关键字:INSERT、DELETE、UPDATE组成。(下图由于表格太大放上去格式变乱,所以改成截图)

MySQL-入门(一)-LMLPHP

    补充DELETE和TRUNCATE的区别:

  • DELETE只是删除表中的数据,不删除表,删除后的数据可以恢复。
  • TRUNCATE删除是把表直接删掉(drop),然后再创建一个同样的新表。删除的数据不能找回。执行速度比DELETE快。
  • 开发中通常使用DELETE。

四、MySQL之DQL常用命令--简单查询

    DQL中主要是用来查询数据库中的数据,不会对数据库中的数据进行改变,查询关键字:SELECT

    语法:SELECT 字段名 FROM 表名 [WHERE –> GROUP BY –>HAVING–> ORDER BY];其中[]中的内容是查询条件。

   包含where关键字的条件查询

附:MySQL语句大小写问题

  • 注意:mysql在windows下是不区分大小写的,在linux中区分大小写,规则如下:
    • 数据库名与表名是严格区分大小写的;
    • 表的别名是严格区分大小写的;
    • 字段名和字段的别名在所有的情况下均是忽略大小写的;
    • 变量名也是严格区分大小写的;
    • 可以在linux中修改mysql配置使其忽略大小写。
07-17 02:21