1.初始SQL

Posted Mrs.King_UP

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.初始SQL相关的知识,希望对你有一定的参考价值。

1.SQL语言

  • DDL: (data defination language, 数据定义语言)用于对数据库和表进行创建和删除,包括Create、Drop、Alter
  • DML:(Data Manipulation Language,数据操纵语言)用于查询和变更表中的记录,包括Select、Insert、Update、Delete
  • DCL:(Data Control Language,数据控制语言)用于确认或者取消对数据库中的数据进行的变更;对权限进行设定,包括Commit(确认对数据库中的数据进行变更)、Rollback(取消对数据库中的数据进行变更)、Grant(赋予用户操作权限)、Revoke(取消用户的操作权限)

2.书写SQL规则

  1. 以(;)结尾
  2. 关键词不区分大小写,表中的数据区分大小写
  3. win系统中不区分表名及字段名的大小写

3.数据库操纵

3.1数据库、表的创建

  1. 只能使用英文字母、数字、下划线作为数据库、表和列的名称


2. 数据类型:必须存储与定义数据类型相同的数据

  • integer型——用于存储整数,不能存储小数
  • char型——用于存储定长字符串,当存储字符串不足时,使用空格填充,浪费存储空间,一般不使用
  • varchar型——用于存储可变长度的字符串,达不到最大长度不会填充
  • date型——用于存储日期类型(年月日)
  1. 约束条件
  • primary key (列名)为主键约束,具有唯一性
  • not null 为非空约束,设置not null的列不能为空

3.2表的删除、更新

  • alter更改表结构,操作后不可恢复,谨慎使用
alter table product add column product_color varchar(10);

  • 删除表
drop table product;

  • 清空表中的数据
truncate table product;

  • 更新表格
//对product表中按照条件筛选的数据中的product_id设置为123
update product
set product_id=123
where product_id=234 
order by 子句
limit 子句;
------------------
//将某列的值全部更新为NULL,该列为非主键、非not null
update product
set regist_date = NULL
where product_id = '0008';
//更新多列
update product
set sale_price=sale_price*10,
	purchase_price=purchase_price/2
where product_type='厨房用具';

  • 插入数据
mysql> insert into productins values('0002','打孔器','办公用品',500,320,'2009-09-11'),
    -> ('0004','菜刀','厨房用品',2000,2800,'2009-09-20');

3.3索引的创建

  • 三种方式
//1.建表后创建
create index indexName on table_name(column_name);
//2.更改表结构
alter table table_name add index indexName(column_name);
//3.创建表的同时创建索引
create table mytable(
ID int not null,
username varchar(16) not null,
index indexname (username(length));
  • 索引分类:主键索引(在主键上创建)、唯一索引(在UNIQUE字段上标识的列上创建)、普通索引、前缀索引(字符类型字段前几个字符)、全文索引

3.4 Answer

以上是关于1.初始SQL的主要内容,如果未能解决你的问题,请参考以下文章

sql-lab闯关之7

[转帖]xise菜刀下载,集中国菜刀为一体的xise工具

菜刀修改cookie

暗黑里有往装备上打孔的公式吗?

使用 STUN 打孔

Java TCP 打孔