实验楼MySQL记录(一)

启动mysql:

sudo service mysql start

登陆mysql

mysql -u root

查看有哪些数据库

show databases;

查看数据库中有那些表

show tables;

mysql配置文件

/etc/mysql/my.conf

创建数据库

create database sqlname;

创建数据表

CREATE TABLE 表的名字

(

列名a 数据类型(数据长度),

列名b 数据类型(数据长度),

列名c 数据类型(数据长度)

);

mysql常用数据类型

数据类型 大小(字节) 用途 格式
INT 4 整数
FLOAT 4 单精度浮点数
DOUBLE 8 双精度浮点数
ENUM -- 单选,比如性别 ENUM('a','b','c')
SET -- 多选 SET('1','2','3')
DATE 3 日期 YYYY-MM-DD
TIME 3 时间点或持续时间 HH:MM:SS
YEAR 1 年份值 YYYY
CHAR 0~255 定长字符串
VARCHAR 0~255 变长字符串
TEXT 0~65535 长文本数据

char和varchar的区别

CHAR 的长度是固定的,而 VARCHAR 的长度是可以变化的,比如,存储字符串 “abc",对于 CHAR(10),表示存储的字符将占 10 个字节(包括 7 个空字符),而同样的 VARCHAR(12) 则只占用4个字节的长度,增加一个额外字节来存储字符串本身的长度,12 只是最大值,当你存储的字符小于 12 时,按实际长度存储。

插入数据

INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);
INSERT INTO VALUES(值1,值2); 自动对应列,如果缺少则为null,不可缺少
CHAR,VARCHAR,TEXT,DATE,TIME,ENUM 等类型的数据也需要单引号修饰,而 INT,FLOAT,DOUBLE等则不需要。

mysql约束

在MySQL中,通常有这几种约束:

约束类型: 主键 默认值 唯一 外键 非空
关键字: PRIMARY KEY DEFAULT UNIQUE FOREIGN KEY NOT NULL

主键 (PRIMARY KEY)是用于约束表中的一行,作为这一行的唯一标识符,在一张表中通过主键就能准确定位到一行,因此主键十分重要,主键不能有重复记录且不能为空。

主键约束:

关键词:primary key

create table table_name(id int(10) primary key, name char(10));

默认值约束:

关键词:default 'default value'

create table table_name(id int(10) primary key, name char(16) default 'default_name');

唯一约束:

关键字:UNIQUE (field)
唯一约束 (UNIQUE) 比较简单,它规定一张表中指定的一列的值必须不能有重复值,即这一列每个值都是唯一的。

create table table_name(id int(10) primary key, name char(20) default 'default_name', phone int(13), UNIQUE (phone))

外键约束:

关键字:FOREIGN KEY (oid) REFERENCES table1(pid));
table 1:

pid name
1 name1
2 name2

table 2:

oid num pid
1 001 1
2 002 2
create table table2(oid int(10) primary key, num int(8), pid int(10), FOREIGN KEY (oid) REFERENCES table1(pid));

非空约束:

关键字: NOT NULL

create table table_name(id int(10) primary key, name varchar(10) NOT NULL);

设置自增:

关键字:auto_increment

create table table_name(id int(10) primary key auto_increment, name varchar(10) not null);

你可能感兴趣的:(实验楼MySQL记录(一))