Sql基础操作2

1.表的结构

CREATE TABLE 【IF NOT EXISTS】 表名称(

字段名1 列类型 【属性】【索引】

字段名2 列类型 【属性】【索引】

字段名3 列类型 【属性】【索引】

.........

)【表类型】【表字符集】;中括号可写可不写

sql是不区分大小写的,表就是一个文件名,windows不区分大小写,linux区分大小写,所以自己定的名称最好都小写,确保顺利运行

sql语句最好都大写,便于区分

2.数据字段属性

(1)unsigned 可以让空间增加一倍(因为变成无符号的了)-128--127 比变成 0--255

只能用在数值型字段

(2)zerofill 

只能用在数值型字段,前导零

该字段自动应用UNSIGNED

(3)AUTO_INCREMENT

只能是整数,数据每增加一条就会自动增1,字段值不允许重复

NULL 0 留空  自动增1

也可以指定

每个表最好有一个ID字段,设置为自动增长

(4)NULL 和 NOT NULL

3.修改表

alter table stu add sex varchar(10) not  null;----------往stu表里面增加sex字段,长度为10,不能为空

alter table stu add  age int unsigned not null default '0';---------往stu表里面增加age字段,无符号,不能为空,默认值为0

alter table stu add school varchar(10) not null after name;----------往stu表里面增加school字段,长度为10,不能为空,并且这个字段在名字字段后面

alter table stu add  hight double first;---------增加一个hight字段,并且在第一列

alter table stu modify sex char(10);------------修改sex这个字段的属性

(modify适合改类型,改字段名用change)

alter table stu change name username char(10);--------更改name字段名为username后面必须跟属性

alter table stu rename as student;--------更改表名为student

alter table stu drop username;----------删除username字段

drop table if exists stu;---------如果存在就删除表stu,if exists为可选项

? alter table;------------查看更多修改表的帮助

4.索引

(1)主键索引

主要作用是确定数据库表里一条特定数据记录的位置

最好为每一张数据表定义一个主键

一个表只能定义一个主键

主键的值不能为空

create table t1(

id int not null primary key,//id字段为索引

name varchar(20)

);

不能插入主键重复的值

create table t2(

id int not null auto_increment,

age int not null default 0,

primary key(id)

);


(2)唯一索引

和主键索引一样都可以防止创建重复的值

每个表只能有一个主键索引,可以有多个唯一索引

create table t3(

id int not null auto_increment,

name varchar(30) not null default ' ' unique,

age int,

primary key(id)

); 

insert into t3(name,age) values('aaa',10);//第一个自动增长不插入

使用unique

(3)常规索引

最重要的技术

提升数据库的性能

将索引排序,可以提高查找的速度,减慢数据列上插入,删除,修改

(4)全文索引


你可能感兴趣的:(Sql基础操作2)