花括号{} 在其中选择

方括号[] 可选可不选

1.登录mysql 

        mysql -u(用户名) -p(密码) -P(端口号)-h(服务器名称)

        mysql -uroot -proot -P3306 -h127.0.0.1(本地回环地址)

        mysql数据库语法整理


2.退出mysql

        exit;

        quit;

        \q;

        mysql数据库语法整理

3.创建数据库

        CREATE {DATABASE |  SCHEMA} [IF NOT EXISTS] db_name;

        CREATE DATABSE t1;

        mysql数据库语法整理


4.删除数据库

        DROP {DATABASE | SCHEMA} [IF NOT EXISTS] db_name;

        DROP DATABASE t1;

        mysql数据库语法整理


5.显示所有数据库

        SHOW DATABASES;

        mysql数据库语法整理


6.使用数据库

        USE 数据库名称;

        mysql数据库语法整理


7.当前打开数据库

        SELECT DATABASE();

        mysql数据库语法整理


8.创建数据表

        CREATE TABLE [IF NOT EXISTS] table_name(

            column_name data_type,

            ...

        );


        CREATE TABLE tb1(

            username VARCHAR(20),

            age TINYINT UNSIGNED;

            salary FLOAT(8,2) UNSIGNED

        );  

        mysql数据库语法整理


9.查看数据表列表

        SHOW TABLES [FROM db_name];

        mysql数据库语法整理

        除了查看当前数据库中的数据表列表,还能查看别的数据库中的数据表列表:

        SHOW TABLES [FROM mysql];

        mysql数据库语法整理


10.查看数据表结构

        SHOW COLUMNS FROM tbI_name;

        SHOW COLUMNS FROM tb1;

        mysql数据库语法整理        


11.数据表的插入记录

        INSERT [INTO] tbI_name [(col_name, ...)] VALUES(val, ...);

        (1).省略所有字段

            INSERT tb1 VALUES('TOM', 25, 7863.25);

            mysql数据库语法整理

        (2).指定字段

            INSERT tb1(username, salary) VALUES('John', 4500.63);

            mysql数据库语法整理

12.数据表的查找

        SELECT expr,... FROM tb1_name;

        SELECT * FROM tb1;  (*代表字段的过滤)

        mysql数据库语法整理

13.修改数据表

        添加单列:

        ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST | AFRER col_name]

        FIRST 将你添加的这一列添加到最前面

        AFTER col_name 将你写的这一列添加到col_name这一列的后方

        如果省略,你加入的列将加入到所有列的后面

        mysql数据库语法整理

        

        mysql数据库语法整理

        添加多列:

        ALTER TABLE tbl_name ADD[COLUMN](col_name column_definition,...)

        只能在原来数据表下方添加,不能指定位置关系。

        

        删除单列:

        ALTER TABLE tbl_name DROP [COLUMN] col_name;

        mysql数据库语法整理

        删除多列:

        ALTER TABLE tbl_name DROP [COLUMN] col_name1,DROP [COLUMN] col_name2,...;

        mysql数据库语法整理

        删除一列并新增一列:

       ALTER TABLE tbl_name DROP [COLUMN] col_name1,ADD [COLUMN] col_name column_definition [FIRST | AFRER col_name];

       组合操作,只需要用逗号隔开

                mysql数据库语法整理


        增加主键约束:

        ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...)

        mysql数据库语法整理


        添加唯一约束:

   ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)

        mysql数据库语法整理

        添加外键约束:

   ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] FOREIGN KEY [index_name] [index_type] (index_col_name,...)


14.修改表中数据

        UPDATE (表名) SET (要修改的数据) (过滤条件)

        UPDATE student SET name = '张三' WHERE id = 1;

        mysql数据库语法整理        

13.空值与非空值

        NULL,字段值可以为空;

        NOT NULL, 字段值禁止为空

        在创建数据表时,可以指定属性可为空或不可为空,如果不可为空,在赋值的时候就不能把属性赋为NULL

        mysql数据库语法整理

        此时,username不可以为空,age可以为空

        mysql数据库语法整理

        mysql数据库语法整理


14.自动编号和主键约束

        AUTO_INCREMENT 和 PRIMAR KEY

        每张数据表只能存在一个主键,主键保证记录的唯一性,意味着主键字段的赋值不能相同

        主键自动为NOT NULL

        自动编号必须和主键一同使用,但是主键可以单独使用。

        创造了一个数据表,其中字段id是自动编号并且为主键,只需输入username的值;

        mysql数据库语法整理

        mysql数据库语法整理

        我们只输入username的值,ID自动编号了。

        再创建一张数据表,字段id为主键但是不自动编号

        mysql数据库语法整理

        mysql数据库语法整理

        不能为主键字段赋相同的值。

15.唯一约束

        UNIQUE KEY

        唯一约束也可以保证记录的唯一性

        唯一约束的字段可以为空值(NULL)

        每张数据表可以存在多个唯一约束

        mysql数据库语法整理

        mysql数据库语法整理

16.默认约束

        DEFAULT

        当插入记录时,如果没有明确为字段赋值,则自动赋予默认值

        mysql数据库语法整理

        在这张数据表中,sex字段从1,2,3中选择,其默认值为3

        mysql数据库语法整理

        我们没有赋值给sex字段,系统将其默认赋值为3

17.外键约束

        FOREIGN KEYp

        保持数据一致性,完整性

        实现一对一或一对多的关系

        外键约束的要求

        1.父表和子表必须使用相同的存储引擎,而且禁止使用临时表。

        2.数据表的存储引擎只能为InnoDB。

        3.外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位必须相同;而字符的长度则可以不同。

        4.外键列和参照列必须创建索引。如果外键列不存在索引的话,MySQL将自动创建索引。

        创建父表provinves

        mysql数据库语法整理

        创建子表users

        mysql数据库语法整理

        有外键的这张表称为子表,子表所参照的表称为父表

        pid称为外键列,id称为参照列,他们必须有相同或相似的数据类型

        

        外键约束的参照操作

        1.CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行

        2.SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL。如果使用该选项,必须保证子表列没有指定NOT NULL

        3.RESTRICT:拒绝对父表的删除或更新操作。

        4.NO ACTION:标准SQL关键字在,在MySQL中与RESTRICT相同。

        创建CASCADE操作的子表users1

        mysql数据库语法整理

        在父表中添加数据

        mysql数据库语法整理

        在子表users1中添加数据

        mysql数据库语法整理

        删除父表中id为3的数据

        mysql数据库语法整理

        mysql数据库语法整理

        我们发现子表中pid为3的数据也一并删除了,因为我们子表约束操作为CASCADE,在删除父表中某个约束值时,子表也会同时删除该记录。

18.表级约束和列级约束

        对一个数据列建立的约束,称为列级约束

        对多个数据列建立的约束,称为表级约束

        列级约束既可以在列定义时声明,也可以在列定义后声明

        表级约束只能在列定义后声明





相关文章:

  • 2022-01-14
  • 2021-11-19
  • 2022-12-23
  • 2022-01-13
  • 2021-11-15
  • 2021-05-17
  • 2021-11-19
  • 2021-11-19
猜你喜欢
  • 2022-12-23
  • 2021-04-28
  • 2021-11-19
  • 2022-12-23
  • 2022-12-23
  • 2021-08-27
  • 2021-04-04
相关资源
相似解决方案