sql 简单增删查改基本的用法
- 首先理解关系型数据库的概念
- 熟悉常用对象和他们的定义语法,如数据库,表,视图,存储过程,触发器,函数等
- 熟悉常用语句,如SELECT,INSERT,UPDATE等
- 熟悉常用逻辑判断方法,如IF,CASE WHEN等
- 熟悉常用内置函数,如CONVERT,GETDATE等
- mysql 的必知必读 // https://book.douban.com/annotation/93546098/
1概念
关系 + 数据 +关系数据 三部分组分
2;语法
CREATE TABLE table_name(column_name column_type); 简单创建一个列有name 和type的表;
AUTO INCREMENT 字段
我们通常希望在每次插入新记录时,自动地创建主键字段的值。
我们可以在表中创建一个 auto-increment字段。
比如 : CREATE TABLE IN NOT EXISIS `gzy_id`(
`gzy_id` INT UNSIGEND AOTU INCREMENT,
`gzy_name` VARCHAR(100) NOT NULL,//VARCHAR数据类型(长度)
`gzy_age` INT(100) NOT NULL,
` gzy_date` DATE,
PRIMARK KER=(`gzy_id`) //(主键id)
)ENGINE=InnoDB(数据引擎) DEFUALT CHARSET=utf-8;(字符编码)
如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
ENGINE 设置存储引擎,CHARSET 设置编码。
通过命令创建表
root@host# mysql -u root -p
Enter password:*******
mysql> use RUNOOB;
Database changed
mysql> CREATE TABLE runoob_tbl(
-> runoob_id INT NOT NULL 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;
Query OK, 0 rows affected (0.16 sec)
mysql>
update * form tabler;修改
UPDATE table_name SET field1=new-value1, field2=new-value2
比如: UPDATE runoob_tbl SET runoob_title='学习 ' WHERE runoob_id=3;第三给id的值修改为学习
[WHERE Clause]
你可以同时更新一个或多个字段。
你可以在 WHERE 子句中指定任何条件。
你可以在一个单独表中同时更新数据。
update 语句可用来修改表中的数据, 简单来说基本的使用形式为:
update 表名称 set 列名称=新值 where 更新条件;
以下是在表 students 中的实例:
将 id 为 5 的手机号改为默认的 - : update students settel=default where id=5;
将所有人的年龄增加 1: update students set age=age+1;
将手机号为 13288097888 的姓名改为 "小明", 年龄改为 19: update students setname="小明", age=19 wheretel="13288097888";
insert * form table; 插入数据
INSERT INFO table_name(field1,field2,field3...fieldn)
VALUES
(value1,value2,value3...valuen);
如果;value是字符串 ,必须加上“”或者‘’;
查询数据通用的 SELECT 语法;
select * from runoob_tbl; 查询所有的数据
SELECT filed1,fild2 FROM table_name [WHERE Clause] [LIMIT N] [OFFSET M]
查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
SELECT 命令可以读取一条或者多条记录。
你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
你可以使用 WHERE 语句来包含任何条件。
你可以使用 LIMIT 属性来设定返回的记录数。
你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
slect * from tablename where name like '张%' and id>5;
解释:以上就是通过条件查询出名字以张开始的,id大于5的表数据。
备注:多条件之间如果是同时满足用and,如果是满足其中一个用 or。
DELETE TABLE table_name;删除一张表;
DELETE TABLE table_name WHERE id=”id“;
可以通过不同字段去删除
Where 语句的用法
select field1,...fieldN FORM table_name1...table_nameN
WHERE condition1 [AND [OR]]condition2... 通过条件1和(或者)条件2去查询。
查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。
你可以在 WHERE 子句中指定任何条件。
你可以使用 AND 或者 OR 指定一个或多个条件。
WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。
WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。
MySQL 的 WHERE 子句的字符串比较是不区分大小写的。 你可以使用 BINARY 关键字来设定 WHERE 子句的字符串比较是区分大小写的。
的 WHERE 子句的字符串比较是不区分大小写的。 你可以使用 BINARY 关键字来设定 WHERE 子句的字符串比较是区分大小写的。
[外链图片转存中...(img-04BtQaEg-1617009331651)]
sql : https://www.runoob.com/mysql/mysql-like-clause.html