SQL学习1---表的创建和修改,数据的增删改

目录

一:SQL使用规范

 二:DDL(Data Definition Language,数据定义语言)

 三:DML(Data Manipulation Language,数据操纵语言)

四:创建和操纵表

 五:表的数据插入

六:更新删除表中数据

一:SQL使用规范

  • SQL语句要以分号( ; )结尾
  • SQL 不区分关键字的大小写,但是插入到表中的数据是区分大小写的
  • 表名及字段名----win 系统默认不区分大小写,linux / mac 严格区分大小写
  • 常数的书写方式是固定的

       'abc', 1234, '26 Jan 2010', '10/01/26', '2010-01-26'......

  • 单词需要用半角空格(英文的空格)或者换行来分隔
一个汉字字符在电脑上要占两个英文字符的位置,当输入符号的时候全角的字符也是要占两个英文字符的位置,半角的只占一个字符也就是半个汉字的位置。这就是全角和半角的区别。

 二:DDL(Data Definition Language,数据定义语言)

DDL:用来创建或者删除存储数据用的数据库以及数据库中的表等对象。

DDL 包含以下几种指令。

  • CREATE : 创建数据库和表等对象
  • DROP : 删除数据库和表等对象
  • ALTER : 修改数据库和表等对象的结构

 三:DML(Data Manipulation Language,数据操纵语言)

DML:用来查询或者变更中的记录。

  • SELECT :查询表中的数据
  • INSERT :向表中插入新数据
  • UPDATE :更新表中的数据
  • DELETE :删除表中的数据

四:创建和操纵表

create table关键字来创建表,然后后面紧跟表名,在()内输入表的列的细节

每一列:列名  该列的数据类型  如果不允许没有值加上not null(""不是null的意思)

primary key(列名)----

        指明主键关键词(一个主键,该列必须唯一;多个主键,组合类型唯一)

primary key(order_num,order_item)

订单号和订单物品的组合,可以视为主键

一些列的其他属性指定:

  • 指定默认值:default 常数-----一般更喜欢指定默认而不是使用NULL
  • 自动增量:auto_increment-----每个表只有一个列使用,而且必须被索引,只起到唯一作用

SQL学习1---表的创建和修改,数据的增删改_第1张图片


SQL学习1---表的创建和修改,数据的增删改_第2张图片

 

 注意:

  • 这里关键字有大有小,证明sql在关键字上不分大小写
  • 而且sql只要不见到;不结束,所以可以自己采取缩进格式

有时候在表的创建()最后加上:ending=InnoDB说白了就是指定引擎类型

有的语句不会使用默认引擎就需要额外指定

SQL学习1---表的创建和修改,数据的增删改_第3张图片 

删除表:drop table 表名 

重命名表:rename table 原名 to 新名

ex-----------rename table customer to Customer;

可以重命名多个名:原名 to 新名用“,”隔开即可

修改表---alter table(关键字,但是一般不建议改动,因为数据太多,设计表一定要重视) 

  • 添加列的 ALTER TABLE 语句
ALTER TABLE < 表名 > ADD COLUMN < 列的定义 >;
  • 删除列的 ALTER TABLE 语句
ALTER TABLE < 表名 > DROP COLUMN < 列名 >;

alter table Customer add column mmm varchar(100) not null;

 

ALTER TABLE Customer DROP COLUMN mmm;

 五:表的数据插入

insert

  • 插入完整的行-----insert into 表名(属性)values(数据);
  • 插入多条数据-----多个(内容),然后用,隔开。
  • 插入检索数据-----将一条select语句的结果插入表中insert select

SQL学习1---表的创建和修改,数据的增删改_第4张图片

 


 SQL学习1---表的创建和修改,数据的增删改_第5张图片

 

 执行两次后

SQL学习1---表的创建和修改,数据的增删改_第6张图片


SQL学习1---表的创建和修改,数据的增删改_第7张图片

六:更新删除表中数据 

更新数据-----update(更新所有行或特定行)

格式:

update 表名 set 列名=新值【where+过滤条件】


update Customer
set cust_age=100;

SQL学习1---表的创建和修改,数据的增删改_第8张图片

 SQL学习1---表的创建和修改,数据的增删改_第9张图片

 加入where后更新特有行。

SQL学习1---表的创建和修改,数据的增删改_第10张图片

 ,分割多个属性;但是set关键字只写一次

可以加上ignore关键字,以防更新错误

删除更简单:

delete from 表名 where 筛选 


delete from  Customer
where cust_age=100;

你可能感兴趣的:(MYSQL,sql,学习,数据库)