sql课程笔记 [1]

sql笔记(1 2 3 4章)

Posted by Klaus on March 16, 2024

一、database的创建、导入、修改

创建数据库 create database

create database name ;

查看数据库的定义 show

show create database name;

查看所有数据库

show databases;

使用数据库 use

use name;

修改数据库的定义(修改默认字符为gbk)alter

alter database name default charset gbk;

删除数据库 drop

drop database name;

导入数据库 source

drop database if exists name;

create database name;

use name;

source ~/path/to/name.sql; # 导入数据库

二、table的创建和修改结构

枚举类型–emum( option1 , option2 )

create table table_name(

特征名称 数据类型 属性,

id int auto_increment primary key,

name varchar(100),

gender enum(‘male’, ‘female’) not null

);

auto_increment自动增加

enum()只能写括号内的选项

集合类型–set(option1, option2, ···)

可以从括号里选0个、1个或多个选项

创建表 create table

create table table_name(

feature1 数据类型(最小宽度) 约束条件 ,

…… );

查看table的数据定义 show

show create table table_name;

查看table的结构(有几行几列,分别有什么限制)desc

desc table_name;

修改table名 alter rename

alter table name

rename new_name;

修改feature_name alter change

alter table table_name

change feture_name new_name 数据类型(不能空);

修改数据类型 alter modify

alter table table_name

modify feature1 修改成哪种数据类型;

添加特征 alter add

alter table table_name

add new_feature type

after old_feature ;

after可以换成first,即新增特征在第一行

删除特征 alter drop

alter table table_name

drop feature_name;

复制table

create table2 select * from table1;

调整feature的在表中的位置 alter modify

alter table_name

modify feature_name type first;

first 可换成 after feature_name

删除table drop

drop table table_name;

三、设置table约束、添加索引

CREATE TABLE Product (Product_ID CHAR(10) COMMENT ‘商品编号’);

comment注释

常见约束:

  • 非空 not null
  • 唯一 unique
  • 主键 primary key
  • 默认值 default
  • 外链(参考) references

设置单一主键 alter modify

alter table table_name

modify feature_name type primary key;

设置多个主键

create table table_name(

feature1 type ,

feature2 type ,

feature3 type ,

primary key(feature1, feature2)

);

设置非空 alter modify

alter table table_name

modify feature_name type not null;

设置自动增加 alter modify

alter table table_name

modify feature_name type auto_incerment;

建立外链alter table add constraint

alter table 本表名称

add constraint fk_name

foreign key(本表哪个feature要设置外链)

references 要参考的table(要连接的feature);

要连接的feature必须是那个表的主键

建立外链create table constriant

create table table_name(

……

constraint fk_name foreign key(本表哪个feature要设置外链)

references 要参考的table(要连接的feature)

);

删除外链约束 alter drop

alter table table_name

drop foreign key fk_name;

check约束

create table table_name(

age int,

……

check(age>5 and age<20),

check(…)

);

索引

普通索引 index

唯一索引 unique index

全文索引 fulltext index

创建索引 create index

create index index_name on table(feature);

创建索引 alter table

alter table table_name add index index_name(feature_name);

删除索引 drop

alter table table_name drop index index_name;

drop index index_name on table_name;

查看索引 show

show index from table_name;

四、数据增删改

增加数据 insert into values

insert into table_name(feature1, feature2, …)

values (value1, value2, …);

insert into table_name

set feature1=value1, feature2=value2, … ;

更新数据 update set

update table_name

set featrue1 = value1, featrue2 = value2, feature3 = value3 ;

删除数据 delete from

delete from table_name (where…);

清空table但不删除table truncate

truncate table_name;