zoukankan      html  css  js  c++  java
  • 操作数据表

    • 打开数据库    use 数据库 ---- use mydata
    • 查看数据库    show databases
    • 显示当前用户打开的数据库   SELECT DATABASE();
    • 创建数据表
          语法:CREATE TABLE [IF NOT EXISTS] table_name(
                  column_name data_type
                  )
          例子:创建student数据表
                  CREATE TABLE student(
                          id int,
                          username VARCHAR(20) NOT NULL,
                          age TINYINT UNSIGNED
                   );

    • 数据表更名
        ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name
        例子:ALTER TABLE student RENAME stu;

    • 查看当前数据库下的数据表SHOW TABLES 
      查看其他数据库下的数据表SHOW TABLES FROM data_name;
    • 查看数据表 SHOW COLUMNS FROM table_name;
    • 查看索引SHOW INDEX FROM tbl_name [FROM db_name];
    • 查看表中的内容SHOW CREATE TABLE tbl_nameG;
    • NOT NULL 与NULL 
          例子:username VARCHAR(20) NOT NULL 表明username不能为空,每次插入数据的时候必须插
    • 主键约束 PRIMARY  KEY
          1. 添加主键约束
                  语法: ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]
                         PRIMARY KEY [index_type] (index_col_name,...)
                              [CONSTRAIN [symbol]]给主键起名字 
                   例子:给student表中的uid设置为主键
                              ALTER TABLE student ADD PRIMARY KEY(uid);
           注:每张表只能有一个主键,主键保证记录的唯一性,主键自动保存为NOT NULL
           例子:将学生的id定义为student表的主键
                      id  int PRIMARY KEY

         2. 删除主键约束
               语法:ALTER TABLE tbl_name DROP PRIMARY KEY;
    • 外键约束
           外键用来在两个表的数据之间建立连接,它可以是一列或者多列。一个表可以有一个或多个外键。外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键值必须等于另一个表中主键的某个值。引擎必须为InnoDB。
           语法:[CONSTRAINT<外键名>] FOREIGN 字段名1,[字段名2...] REFERENCES<主表名> 主键列1[,主键链2...]
                   "外键名"为定义的外键约束的名称,一个表中不能有相同名称的外键,"字段名"表示子表需要添加外键约束的字段列:"主表名"表子表外键所一来的表的名称;''主键列"表主表中定义的主键列或组合.
          例子:
           1.建立主表
               CREATE TABLE GRADE(
                      gid int PRIMARY KEY,
                      gname VARCHER(20)
                );
            2.建立子表
               CREATE TABLE student(
                       sid int PRIMARY KEY,
                       sname VARCHAR(20)
                       FOREIGN KEY(sid) REFERENCES GRADE(gid)   student表的sid参照grade表的gid
               )
         添加外键约束
             语法:

                  ALTER TABLE tbl_name ADD [CONSTRAINT [symbol]]
                      FOREIGN KEY [index_name] (index_col_name,...) reference_definition
              例子:student表中的sid参照grape表中的gid添加外键:
                         ALTER TABLE student ADD FOREIGN KEY (sid) REFERENCE group(gid);
         删除外键约束
                   ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol
         外键约束的参照操作
         1.CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行(ON DELETE CASCADE)
         2.SET NULL:从父表删除或更新行,并设置子表中的外键列为NULL。
                                如果使用该选项,必须保证子表列没有指定NOT NULL
         3.RESTRICT:拒绝对父表的删除或更新操作
    • 表级约束对一个数据列建立的约束(既可以在列定义时声明,也可以在列定义之后声明)
      列级约束对多个数据列建立的约束(只能在列定义后声明)
    • 唯一约束 UNIQUE KEY
         1.添加唯一约束

             语法:ALTER TABLE tbl_name ADD  [CONSTRAINT [symbol]]
                          UNIQUE [INDEX|KEY] [index_name] [index_type] (index_col_name,...)
             例子:给student表中username设置为唯一约束
                    ALTER TABLE student ADD UNIQUE (username);
                    唯一约束可以保证记录的唯一性
                  唯一约束的值可以为空值(但是只能有一个空值)
                    每张表可以存放多个唯一约束
         2.删除唯一约束
             语法:ALTER TABLE tbl_name DROP {INDEX|KEY} index_name;
             例子:
                    首先通过SHOW INDEX FROM tbl_nameG;找出要删除索引的名字
                    ALTER TABLE student DROP KEY age;
    • 默认约束 DEFAULT 
            age TINYINT UNSIGNED DEFAULT '18'默认年龄为18岁 
    • 添加/删除默认约束
         语法:ALTER TABLE tbl_name ALTER [COLUMN] col_name
                          {SET DEFAULT literal | DROP DEFAULT}
         例子:为student表中添加一个age的列
                    ALTER TABLE student ADD age int NOT NULL;
         例子:为age添加默认值15
                   ALTER TABLE student ALTER age SET DEFAULT 15;
         例子:删除age的默认值
                   ALTER TABLE student ALTER age DROP DEFAULT;
    • 自动编号 AUTO_INCREMENT
          id int KEY PRIMARY AUTO_INCREMENT 没增加一个记录id就自己增加1,不用人为的赋值了   
    • 添加单列
         语法: ALTER TABLE table_name ADD [COLUMN] col_name 
                column_definition [FIRST | AFTER col_name]
            若写FIRST表明加在最前面,AFTER表明加在哪一列的后面,若都不写则在最后面 
         例子:ALTER TABLE student ADD age int;
    • 删除某列
         例子:ALTER TABLE student DROP age;
    • 修改列定义
         语法:ALTER TABLE tbl_name MODIFY [COLUMN] col_name
                column_definition [FIRST|AFTER col_name]
         例子:ALTER TABLE student MODIFY uid int unsigned;
    • 修改列名称
         语法:ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name 
                new_col_ame column_definition [FIRST|AFTER col_name]
         例子:ALTER TABLE student CHANGE sid ssid INT UNSIGNED NOT NULL;
    • 插入记录
           语法:INSERT [INTO] table [col_name,...] VALUES(val,...) ---(INTO可以省略)
           例子:INSERT table VALUES('1','TOM',12);给student表的所有列赋值
                  INSERT table (username) VALUES ('john');给student的uername赋值
    • 查询记录
            语法:SELECT expr,... FROM student
            例子:SELECT * FROM student;查询student表中的所有的记录
  • 相关阅读:
    springcloud(三)
    springcloud(二)
    spring-cloud(一)
    springboot(三)
    springboot(二)
    springboot(一)
    dubbox
    SpringBoot终章(整合小型进销系统)
    SpringBoot第三节(thymeleaf的配置与SpringBoot注解大全)
    SpringBoot--集成Shiro
  • 原文地址:https://www.cnblogs.com/zsboy/p/4070599.html
Copyright © 2011-2022 走看看