Mysql学习笔记<2>数据表SQL

来源:互联网 发布:raysource软件下载 编辑:程序博客网 时间:2024/05/29 09:14

数据表SQL

 

 

数据表创建

 

语法:

create table 表名(列名 类型(长度),列名 类型(长度) ...) character set 编码集;

 

举例:

create table users(
   id int,
   name varchar(40),
   password varchar(40),
   birthday date
);

 

注:

如果不设置编码集,数据表将采用数据库默认字符集

所有数据类型中,除了char 、varchar 必须指定长度,其它类型默认长度

 

 

 

 

数据类型


1) 整数类型 tinyint (byte)    smallint(short)   int(int)   bigint(long)   float   double

 

2) 字符串类型 varchar char 长度取值0-255  ---- String 

varchar变长 ,长度会根据保存内容自动调整

char定长

注:varchar经常使用,char性能更好

 

3) 逻辑性 bit 一位 --- boolean *bit(8)表示8位 等于tinyint ,bit(32) 等于int

 

4) 日期型 date time datetime timestamp

date 只能保存日期

time 只能保存时间

datetime 日期和时间都有

timestamp 日期和时间都有,自动更新 ---- 操作数据表,timestamp字段自动更新当前时间

 

5) 大数据类型 text、blob

text 文本类型数据,主要存储字符文件 --- 文本文件

blob 二进制文件 ,存储任何类型文件(音乐、电影)

注:blob和text最大类型 longtext longblob 最大可以保存4GB文件

 

举例:

创建一个员工表employee (
id 整形
name 字符型
gender 字符型
birthday 日期型
entry_date 日期型
job 字符型
salary 小数型
resume 大文本型

);

 

create table employee (
   id int,
   name varchar(40),
   gender varchar(10),
   birthday date,
   entry_date date,
   job varchar(20),
   salary double,
   resume longtext
);

 

 

约束

 

单表约束:

主键约束(唯一标识一条记录) 

唯一约束(该字段内容不允许重复)

非空约束(值不能为空)

 

主键约束----- primary key 不能为空、不能重复
注:主键数字类型,一般设置主键自动增长 mysql设置自动增长 auto_increment
唯一约束 ----- unique 一张表只有最重要那个字段才能作为主键
非空约束 ----- not null

 

举例:

create table employee (
   id int primary key not null auto_increment ,
   name varchar(40) unique not null,
   gender varchar(10) not null,
   birthday date not null,
   entry_date date not null,
   job varchar(20) not null,
   salary double not null,
   resume longtext not null
);

 

 

 

数据表查看

 

语法:desc 表名;

 

 

 

数据表修改

 

语法:

<1>向已有数据表添加一列 :alter table 表名 add 列名 类型(长度) 约束;
<2>改变已有数据表一列类型、长度: alter table 表名 modify 列名 类型(长度) 约束;
<3>改变已有数据表一列的名称 : alter table 表名 change 旧列名 新列名 类型(长度) 约束;
<4>删除已有一列 : alter table 表名 drop 列名;
<5>修改表名: rename table 旧表名 to 新表名;
<6>修改表的字符集:alter table student character set utf8;

 

练习 :
<1>在上面员工表的基本上增加一个image列 ----- alter table employee add image varchar(255);
<2>修改job列,使其长度为60  ------ alter table employee modify job varchar(60) not null;
<3>删除gender列。------ alter table employee drop gender;
<4>表名改为user。 ----- rename table employee to user;
<5>修改表的字符集为utf8  ----  alter table user character set utf8;
<6>列名name修改为username ---- alter table user change name username varchar(40) unique not null;

 

 

 

数据表删除

 

语法:

drop table 表名;

 

注:show tables; 查看当前数据 中所有表

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击