mysql(3)对数据表的增删改

【数据表】数据库的重要组成之一,是其他对象的基础。
 
一、查看数据表结构
  【打开数据库】use 数据库名称;
  【查看打开的数据库】SELECT DATABASE();
  【显示/查看某表的基本结构】SHOW COLUMNS FROM 数据表名;
  【显示数据表】---例子:SHOW TABLES FROM mysql;     //---------显示当前数据库中所有的表名称
  【当前表的某条件记录的查找】语法:SELECT exp,...FROM 表名; --例子:SELECT * FROM tb1;
 
二、创建表

【创建表】语法:CREATE TABLE table_name (column_name  column_type);
   #注意:1. 在同一张表中,字段名是不能相同
      2. 宽度和约束条件可选
      3. 字段名和类型是必须的

CREATE TABLE [IF NOT EXISTS] 表名(
column_name data_type,
...
);
简化:CREATE TABLE 表名(
列名 数据类型,约束条件,
...
);
例子:CREATE TABLE tb1(
usename VARCHAR(20),
age TINYINT UNSIGNED,
salary FLOAT(8,2) UNSIGNED
);   ---注意:表中的最后一个字段不要加逗号
 
三、插入数据
【插入记录-----insert】---重点
   方法1:INSERT [INTO] 数据表名 [(col_name)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),...
   例子1:INSERT tb1 VALUES(tom,25,4533.66);-------给全部字段匹配赋值
     INSERT tb1(username,age)VALUES('tom',25); -------局部赋值
   INSERT INTO users VALUES(NULL,'tom','123',25,1) ; 
   例子2 :INSERT INTO users VALUES(DEFAULT,'tom','123',3*7+4,1)(NULL,'Rose',md5('123'),DEFAULT,0);     //---数学表达式,函数、可以插入多个记录
       **准备为默认的自动标号的字段赋值,可以写成空值或default**
   方法2:INSERT [INTO] tb1_name SET col_name={expr | DEFAULT},...
      说明:与方法1区别,此方法可以使用子查询,一次只能插入一条。
   例子:INSERT [INTO] 表名 SET username=‘Ben’,password=‘456’;
   方法3:INSERT [INTO] tb1_name[(col_name)] SELECT...   //----将查询结果写入到指定的数据表
   例子3:INSERT test(usermane) SELECT username FROM users WHERE age>=30;

四、更新数据 ---(对已有的数据进行修改)

【更新记录】-----update单表更新,语法:update 表名 set 条件;
 UPDATE [LOW_PRIORITY] [IGNORE] table_reference SET col_name1={expr1 | DEFAULT} [,col_name2={expr | DEFAULT}]...
    注:[WHERE where_condition]     //-----------不加where表达式,数据会全部更新
    例子1:UPDATE users SET age=age+5;
    例子2:UPDATE users SET age=age-id,sex=0,;
    例子3:UPDATE users SET age=age+10 WHERE id%2==0;   // ---id号为偶数的用户年龄加10
 
【删除数据表--delete单表删除
  DELETE FROM 表名 WHERE id=6; //-------删掉id=6的记录。
                    ------如果省略where条件将删除表中的全部记录。
  (1)drop:删除表结构,当表不需要的时候会用到
  (2)delete只删除数
 

【空值与非空】----NULL,字段可为空    NOT NULL,字段禁止为空
例子:CREATE TABLE tb2(
usename VARCHAR(20) NOT NULL,
age TINYINT UNSIGNED NULL
);
【自动编号---AUTO_INCREMENT】自动编号必须与主键组合使用;默认情况下起始值为1,每次增量为1;(-----说明为数值型)
例子:CREATE TABLE tb3(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAE(20) NOT NULL)
 
【主键-----PRIMARY KEY】 主键约束;每表只能有一个主键;主键保证记录的唯一性;主键自动为NOT NULL
例子:CREATE TABLE tb3(
id SMALLINT UNSIGNED PRIMARY KEY,
username VARCHAE(20) NOT NULL)
 
【唯一约束-------UNIQUE KEY】唯一约束可以保证记录的唯一性;唯一约束的字段可以为空值(NULL); 每张数据表可以存在多个唯一约束;
例子:CREATE TABLE tb5(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAE(20) NOT NULL UNIQUE KEY,
age TINYINT UNSIGNED); ------------
 
【默认约束---DEFAULT】默认值;插入记录时,如果没有明确为字段赋值,则自动赋予默认值;
例子:CREATE TABLE tb6(
id SMALLINT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAE(20) NOT NULL UNIQUE KEY,
sex ENUM('1','2','3')DEFAULT'3' //1代表男,2代表女,3代表保密
);
 

 

posted on 2019-04-24 17:12  暖暖_8023  阅读(152)  评论(0编辑  收藏  举报

导航