数据库增删改查

数据库操作

登陆数据库: mysql -h xxx -uroot -p pass 数据库名称
创建数据库: CREATE DATABASE 数据库名;
删除数据库: drop database <数据库名>;
显示数据库: show databases;
使用数据库: use 数据库名;

数据库类型

Extra信息
数值类型: INT UNSIGNED、int(10) unsigned、float、
         int(size)  tinyint(size)
         tinyint(1、4) NOT NULL DEFAULT '1' COMMENT 'k8sservice端口标识'
         float NOT NULL DEFAULT '0' COMMENT 'cpu_quota',
日期和时间类型: `create_time` datetime NOT NULL DEFAULT '1970-01-01 00:00:01' COMMENT '触发时间',
              `last_update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最近修改时间',
字符串类型: `instance_type` varchar(128) NOT NULL DEFAULT '' COMMENT 'instance 类型',   varchar(256)\text类型 

创建和删除数据表

创建数据表: 
    CREATE TABLE IF NOT EXISTS `runoob_tbl`(
   `runoob_id` INT UNSIGNED AUTO_INCREMENT,
   `runoob_title` VARCHAR(100) NOT NULL,
   `runoob_author` VARCHAR(40) NOT NULL,
   `submission_date` DATE,
   PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
​
    CREATE TABLE IF NOT EXISTS `person` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'key',
  `name` varchar(65) NOT NULL DEFAULT '' COMMENT '名字',
  `city` varchar(1024) NOT NULL DEFAULT '' COMMENT '居住城市',
  `address` varchar(1024) NOT NULL DEFAULT '' COMMENT '居住地址',
  `create_time` datetime NOT NULL DEFAULT '1970-01-01 00:00:01' COMMENT '触发时间',
  PRIMARY KEY ( `id` )
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='person';
​
AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
ENGINE 设置存储引擎,CHARSET 设置编码。
​
删除表:
   DROP TABLE table_name;
   TRUNCATE TABLE 表名称;
查看创建表: show create table xxx;
查看表结构: desc xxx;   
修改表操作: ALTER TABLE 语句 用于在已有的表中添加、修改或删除列。
   表中添加列: ALTER TABLE table_name ADD column_name datatype
   表中删除列: ALTER TABLE table_name DROP COLUMN column_name
   修改列: ALTER TABLE table_name ALTER COLUMN column_name datatype

表操作

插入数据: INSERT INTO 表名称 VALUES (值1, 值2,....)             // 必须全部指定
         INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....) 指定列插入数据
         insert table_name set xxx='',xxx='',xxx='';
insert user set name="evanlixin",role="admin",token="0848a0cbcdde9a24e27a2e5f2918fd8b";
查询数据: SELECT 列名称 FROM 表名称   
         SELECT * FROM 表名称
distinct: SELECT DISTINCT 列名称 FROM 表名称 关键词 DISTINCT 用于返回唯一不同的值。
where 子句: SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
操作符 描述
=    等于
!=   不等于
>    大于
<    小于
>=   大于等于
<=   小于等于
BETWEEN   在某个范围内
LIKE      搜索某种模式
​
and 和 or运算符
SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William') AND LastName='Carter'
AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。
如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
​
ORDER BY 语句用于根据指定的列对结果集进行排序。
ORDER BY 语句默认按照升序对记录进行排序。如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。
SELECT Company, OrderNumber FROM Orders ORDER BY Company
SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber  按照Company升序排,相同时按照OrderNumber排
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC 逆序排
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC
注意:在以上的结果中有两个相等的公司名称 (W3School)。只有这一次,在第一列中有相同的值时,第二列是以升序排列的。如果第一列中有些值为 nulls 时,情况也是这样的。
​
修改表中数据: UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing' WHERE LastName = 'Wilson'
删除表中行: DELETE FROM 表名称 WHERE 列名称 = 值
          DELETE FROM table_name
原文地址:https://www.cnblogs.com/wanghaoning/p/14144787.html