mysql的语法学习总结1

创建数据库

CREATE DATABASE database_name;

使用数据库:

USE database_name;

删除数据库:

DROP DATABASE database_name;

数据类型:

        mysql支持的数据类型主要分为4类,即字符串类型数值类型日期和时间类型,以及布尔类型

       1、字符串类型:

                常用的字符类型是CHAR、VARCHAR类型。

                CHAR:描述定长的字符串,说明格式为CHAR(L)其中L为字符串长度,取值范围为(1~255)。比L大的值将被截断,比L小的值将用空格填补。

                VARCHAR:描述变长的字符串,说明格式为VARCHAR(L),其中L为字符串长度,取值范围为1~255.比L的值将被截断,比L小的值不会用空格填补

        

        2、数值类型:

                 常用的数值类型是INT、DECIMAL类型

                INT:用于表示整数,存储长度默认为4个字节。说明格式为INT

                DECIMAL: 可以用来表示所有的数值数据,说明格式为DECIMAL( p , s ),其中p表示数据的最大长度,s表示数值数据中小数点后的数字位数,p、s在定义时可以省略,例如DECIMAL(5)、DECIMAL等。

        3、日期和时间类型:

                常用的日期和时间类型是DATE、TIME、DATETIME类型。

                DATE:用来保护固定长度的日期数据,说明格式为DATE

                TIME:用来保护固定长度的时间数据,说明格式为TIME

                DATETIME: 用来保存固定长度的日期时间数据,说明格式为DATETIME。日期值格式为‘YYYY-MM-DD’;时间值格式为‘HH:MM:SS’;日期时间值格式为'YYYY-MM-DD HH:MM:SS'

        4、布尔类型

                布尔类型为BOOLEAN类型,它只有两个值————TRUE和FALSE,即真值和假值。

创建表:

每个 MySQL 表都应该有一个主键,用于唯一标识该表中的每一行数据。一个表的主键不仅需要唯一,而且还需要不为空,这样才能被用作其他表中的外键。

在 MySQL 中,使用 AUTO_INCREMENT 关键字可以创建一个自增字段,用于分配唯一的 ID 值,而使用 PRIMARY KEY 关键字可以将该字段设置为表的主键。这样,就可以创建一个自增主键,每次插入一行新数据时,该主键将自动递增,确保每次插入的数据有唯一的标识符,并且满足作为关系型数据库的基本特性。

创建表并为列设置约束和默认值:

例如,创建一个名为 products 的表,包含 id(自增主键,在默认情况下,自增类型字段的值从1开始,步长为1)、nameprice 和 stock 列,并为 price 设置一个默认值为 0,stock 设置一个默认值为 100,并为 name 设置一个唯一约束

唯一约束是一种数据库约束,确保在列中的所有值都是唯一的,不允许重复。在MySQL中,使用UNIQUE关键字或在创建表时指定UNIQUE约束来实现。唯一约束通常用于确保表中的特定列没有重复的数值,例如,可以在用户名列上应用唯一约束,以确保每个用户都有一个唯一的用户名。

利用子查询来创建表

        从已建立的表中提取部分记录来创建新表。例如:

        根据dept表生成新表。

CREATE TABLE newtable
    SELECT * FROM dept

利用SELECT语句来查询表中数据。

SELECT * FROM dept_c

修改表的结构

         使用 ALTER TABLE 语句,这允许你添加,修改或删除表的列,以及应用约束等。

        例如,要向名为 products的表添加一个新列description。

使用 DESC 命令查看表的结构

修改一个表中已有的列

举例来说,如果你想将表 students 中的 age 列的数据类型从 INT 修改为 VARCHAR(3),你可以执行以下 SQL 语句:

从一个表中删除一列

举例来说,如果你想从表 students 中删除 age 列,你可以执行以下 SQL 语句:


COLUMN可以去掉的

ALTER TABLE students
    DROP age;

截断表

是指删除表中所有的行,但保留表的结构。这在需要清空表数据但保留表结构的情况下很有用。

删除表

将会持续更新~