mysql实操总结(基础篇-上)

基础篇--SQL介绍及MySQL安装
一、结构化查询语句(Structured Query Language)简称SQL
1)启动MySQL:
$sudo service mysql start
$mysql -u root

2)查看数据库:
mysql > show databases;

3)连接数据库:
mysql > USE <数据库名>;

4)查看表:
mysql > SHOW TABLES;

5)退出:
使用quit或exit退出MySQL

基础篇--创建数据库并插入数据
1)新建数据库:
mysql > CREATE DATABASE <数据库名>;

2)新建数据表:
mysql > CREATE TABLE 表的名字
(列名a 数据类型  (数据长度)
列名b 数据类型  (数据长度)
列名c 数据类型  (数据长度));

3)数据类型:
数据类型 大小(字节) 用途 格式
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 长文本数据

4)插入数据:
mysql > INSERT INTO 表的名字 (列名a, 列名b, 列名c) VALUES (值1, 值2, 值3);

基础篇--SQL的约束
1)约束分类:
约束类型 主键 默认值 唯一 外键 非空
关键字 PRIMARY KEY DEFAULT UNIQUE FOREIGN KEY NOT NULL

2)加载数据.sql
mysql > source /home/shiyanlou/Desktop/SQL3/MySQL-03-01.sql

3)主键(PRIMARY KEY):
主键是用来约束表中的一行,作为这一行的唯一标识符,在一张表中通过主键就能准确定位到一行。主键不能重复且不能为空。
主键创建方式1:
CREATE TABLE employee (
id INT(10) PRIMARY KEY,
name CHAR(20) );

主键创建方式2:
people_num INT(10) DEFAULT,
CONSTRAINT dpt_pk PRIMARY KEY (dpt_name) 其中:dpt_pk(主键名(自定义))

主键创建方式3:
CONSTRAINT proj_pk PRIMARY KEY (proj_num, proj_name) 其中:dpt_pk(主键名(自定义))、((proj_num, proj_name)为复合主键)

4)默认值约束(DEFAULT):
当有DEFAULT约束的列,插入数据为空时,将使用默认值。
people_num INT(10) DEFAULT '10', 注:people_num有DEFAULT约束,默认值为10

4.1.正常插入数值:
INSERT INTO department(dpt_num, people_num) VALUES ('dpt1', 11);

4.2.people_num为空,使用默认值:
INSERT INTO department(dpt_num) VALUES ('dpt2);

5)唯一约束(UNIQUE):
它规定一张表中指定的一列的值必须不能有重复值,即这一列每个值都是唯一的。
UNIQUE(phone), 这里有UNIQUE约束,phone的值唯一
当INSERT语句新插入的数据和已有数据重复的时候,如果有UNIQUE约束,则INSERT失效。

6)外键约束(FOREIGN KEY):
外键既能确保数据完整性,也能表现表之间的关系。一张表可以有多个外键,每个外键必须REFERENCES(参考)另一张表的主键,被外键约束的列,取值必须在它参考的列中有对应值。
CONSTRAINT emp_fk FOREIGNKEY(in_dpt) REFERENCES department(dpt_name) 注:emp_fk(外键名(自定义))、in_dpt(外键)、department(dpt_name)--参考列为department表的dpt_name列

在INSERT时,如果被外键约束的值没有在参考列中有对应,如参考列(department表的dpt_name)中没有dpt3,则INSERT失败。
INSERT INTO employee VALUES (02, 'Jack', 30, 3500, 'dpt3');

7)非空约束(NOT NULL):
被非空约束的列,在插入值时必须非空。

猜你喜欢

转载自blog.csdn.net/zhaocen_1230/article/details/80760238