MYSQL笔记

centuryw8个月前 (07-20)MYSQL189

一、常用操作

1. 数据库操作

-- 查看所有的数据库
show databases;    
-- 选择数据库
use databasename;    
-- 创建数据库
create database [if not exists] mydb1 [charset=utf8]; 
-- 修改数据库编码
alter database mydb1 character set utf8;
-- 删除数据库
drop database [if exists] mydb1;

2. 表操作

2.1 创建表格式

craete-table-template.png

2.2 表常用操作

-- 查看数据库所有表
show tables;
-- 查看指定表的创建语句
show create table 表名;
-- 查看表结构
desc 表名;
--  修改表名
rename table 表名 to 新表名;
-- 删除表
drop table 表名;

2.3 修改表结构格式

添加列

-- 格式
alter table 表名 add 列名 类型(长度) [约束];
-- 案例:为student表添加一个新的字段为:系别 dept 类型为 varchar(20)
ALTER TABLE student ADD `dept` VARCHAR(20);

修改列

-- 格式
alter table 表名 change 旧列名 新列名 类型(长度) 约束; 
-- 案例:为student表的dept字段更换为department varchar(30)
ALTER TABLE student change `dept` department VARCHAR(30);

删除列

-- 格式
alter table 表名 drop 列名;
-- 案例:删除student表中department列
ALTER TABLE student DROP department;

2.4 数据操作

-- 插入数据
insert into 表 (列名1,列名2,列名3...) values (值1,值2,值3...); -- 向表中插入指定列
insert into 表 values (值1,值2,值3...);     -- 向表中插入所有列
-- 修改数据
update 表名 set 字段名=值,字段名=值...;
update 表名 set 字段名=值,字段名=值... where 条件;
-- 删除数据 注:truncate是删除表后创建新表
delete from 表名 [where 条件];
truncate table  表名 或者 truncate 表名;

2.5 字段类型

数值类型

类型

大小

范围(有符号)

范围(无符号)

用途

TINYINT

1 byte

(-128127)

(0255)

小整数值

SMALLINT

2 bytes

(-32 76832   767)

(065 535)

大整数值

MEDIUMINT

3 bytes

(-8 388 6088   388 607)

(016 777 215)

大整数值

INTINTEGER

4 bytes

(-2 147 483 6482   147 483 647)

(04 294 967 295)

大整数值

BIGINT

8 bytes

(-9,223,372,036,854,775,8089   223 372 036 854 775 807)

(018 446 744 073 709 551 615)

极大整数值

FLOAT

4 bytes

(-3.402 823 466 E+383.402   823 466 351 E+38)

0(1.175 494 351 E-383.402   823 466 E+38)

单精度
   
浮点数值

DOUBLE

8 bytes

(-1.797 693 134 862 315 7 E+3081.797   693 134 862 315 7 E+308)

0(2.225 073 858 507 201 4 E-3081.797   693 134 862 315 7 E+308)

双精度
   
浮点数值

DECIMAL


依赖于MD的值

依赖于MD的值

小数值

字符串类型

类型

大小

用途

CHAR

0-255 bytes

定长字符串

VARCHAR

0-65535 bytes

变长字符串

TINYBLOB

0-255 bytes

不超过 255 个字符的二进制字符串

TINYTEXT

0-255 bytes

短文本字符串

BLOB

0-65 535 bytes

二进制形式的长文本数据

TEXT

0-65 535 bytes

长文本数据

MEDIUMBLOB

0-16 777 215 bytes

二进制形式的中等长度文本数据

MEDIUMTEXT

0-16 777 215 bytes

中等长度文本数据

LONGBLOB

0-4 294 967 295 bytes

二进制形式的极大文本数据

LONGTEXT

0-4 294 967 295 bytes

极大文本数据

日期类型

类型

大小
    ( bytes)

范围

格式

用途

DATE

3

1000-01-01/9999-12-31

YYYY-MM-DD

日期值

TIME

3

'-838:59:59'/'838:59:59'

HH:MM:SS

时间值或持续时间

YEAR

1

1901/2155

YYYY

年份值

DATETIME

8

1000-01-01 00:00:00/9999-12-31   23:59:59

YYYY-MM-DD HH:MM:SS

混合日期和时间值

TIMESTAMP

4

1970-01-01 00:00:00/2038

结束时间是第 2147483647 秒,北京时间 2038-1-19   11:14:07,格林尼治时间   2038119日   凌晨   03:14:07

YYYYMMDD HHMMSS

混合日期和时间值,时间戳

二、约束

说明:约束是表中数据的限制条件,作用是保证表中记录的完整性和有效性

分类

  • 主键约束(primary key)

  • 自增长约束(auto_increment)

  • 非空约束(not null)

  • 唯一性约束(unique)

  • 默认约束(default)

  • 零填充约束(zerofill)

  • 外键约束(foreign key)

1. 主键约束

概念

  • 主键约束是一个列或多个列的组合,其值能唯一的标识表中的一行,方便在RDBMS中迅速找到某行数据

  • 主键约束相当于唯一约束+非空约束的组合,不允许出现重复和空值

  • 每个表只允许有一个主键

  • 关键字是primary key

  • 创建主键约束时,系统会在所在的列和列组合上建立对应的唯一索引







    相关文章

    MySQL开启root用户远程登录

    root登录,执行以下SQL语句GRANT ALL PRIVILEGES ON *.* TO 'root'@'%&#...

    发表评论

    访客

    看不清,换一张

    ◎欢迎参与讨论,请在这里发表您的看法和观点。