MySql学习笔记-介绍以及基本操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cgq1030699125/article/details/52704092

Mysql数据类型


1: Text 类型:
CHAR(size) 保存固定长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的长度。最多 255 个字符。
VARCHAR(size) 保存可变长度的字符串(可包含字母、数字以及特殊字符)。在括号中指定字符串的最大长度。最多 255 个字符。
TINYTEXT 存放最大长度为 255 个字符的字符串。
TEXT 存放最大长度为 65,535 个字符的字符串。
BLOB 用于 BLOBs (Binary Large OBjects)。存放最多 65,535 字节的数据。
MEDIUMTEXT 存放最大长度为 16,777,215 个字符的字符串。
MEDIUMBLOB 用于 BLOBs (Binary Large OBjects)。存放最多 16,777,215 字节的数据。
LONGTEXT 存放最大长度为 4,294,967,295 个字符的字符串。
LONGBLOB 用于 BLOBs (Binary Large OBjects)。存放最多 4,294,967,295 字节的数据。
ENUM(x,y,z,etc.) 允许你输入可能值的列表。可以在 ENUM 列表中列出最大 65535 个值。如果列表中不存在插入的值,则插入空值。
SET 与 ENUM 类似,SET 最多只能包含 64 个列表项,不过 SET 可存储一个以上的值。
2: Number 类型:
TINYINT(size) -128 到 127 常规。0 到 255 无符号*。在括号中规定最大位数。
SMALLINT(size) -32768 到 32767 常规。0 到 65535 无符号*。在括号中规定最大位数。
MEDIUMINT(size) -8388608 到 8388607 普通。0 to 16777215 无符号*。在括号中规定最大位数。
INT(size) -2147483648 到 2147483647 常规。0 到 4294967295 无符号*。在括号中规定最大位数。
BIGINT(size) -9223372036854775808 到 9223372036854775807 常规。0 到 18446744073709551615 无符号*。在括号中规定最大位数。
FLOAT(size,d) 带有浮动小数点的小数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
DOUBLE(size,d) 带有浮动小数点的大数字。在括号中规定最大位数。在 d 参数中规定小数点右侧的最大位数。
DECIMAL(size,d) 作为字符串存储的 DOUBLE 类型,允许固定的小数点。
3: Date 类型:
DATE() 日期。格式:YYYY-MM-DD 注释:支持的范围是从 ‘1000-01-01’ 到 ‘9999-12-31’
DATETIME() *日期和时间的组合。格式:YYYY-MM-DD HH:MM:SS 注释:支持的范围是从 ‘1000-01-01 00:00:00’ 到 ‘9999-12-31 23:59:59’
TIMESTAMP() *时间戳。TIMESTAMP 值使用 Unix 纪元(‘1970-01-01 00:00:00’ UTC) 至今的描述来存储。格式:YYYY-MM-DD HH:MM:SS注释:支持的范围是从 ‘1970-01-01 00:00:01’ UTC 到 ‘2038-01-09 03:14:07’ UTC
TIME() 时间。格式:HH:MM:SS 注释:支持的范围是从 ‘-838:59:59’ 到 ‘838:59:59’
YEAR() 2 位或 4 位格式的年。 注释:4 位格式所允许的值:1901 到 2155。2 位格式所允许的值:70 到 69,表示从 1970 到 2069。

数据库的连接
mysql -u -p -h
-u 用户名
-p 密码
-h host主机

SQL 语句基础操作


显示服务器下的所有数据库

SHOW DATABASES;

打开数据库

USE user; 

查看当前打开了哪几个数据

SELECT DATABASE();

查看当前有哪些数据表

SHOW TABLES ;

查看当前表结构

SHOW COLUMNS FROM comment;

查看创建表时候的字段定义

SHOW CREATE TABLE landprovince;

查看当前表索引

SHOW INDEXES FROM landprovince;

查询comment表中的所有数据

SELECT * FROM comment;

向comment的username插入数据

INSERT comment (username) VALUES('1145679988');

创建表

 CREATE TABLE IF NOT EXISTS tdb_goods(
    goods_id    SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
    goods_name  VARCHAR(150) NOT NULL,
    goods_cate  VARCHAR(40)  NOT NULL,
    brand_name  VARCHAR(40)  NOT NULL,
    goods_price DECIMAL(15,3) UNSIGNED NOT NULL DEFAULT 0,
    is_show     BOOLEAN NOT NULL DEFAULT 1,
    is_saleoff  BOOLEAN NOT NULL DEFAULT 0
 );
IF NOT EXISTS//判断表存不存在;
UNSIGNED//有没有符号 
PRIMARY KEY//唯一主键
AUTO_INCREMENT//自增长
NOT NULL//不能为NULL

主键约束

PRYMARY KEY 

唯一约束

unique key

默认约束

default key 

非空约束

not null

外键列和参照列必须具有相似的数据类型,其中数字的长度或是否有符号位必须相同,而字符的长度则可以不同
外键列和参照列必须创建索引,如果外键列不存在索引的话,MYSQL将自动创建

修改表数据

删除添加列

增加列

ALTER TABLE lanuser ADD test TINYINT NOT NULL;

新增一个password列到username的后面

ALTER TABLE lanuser ADD password VARCHAR(20) NOT NULL AFTER username;

新增一个truename至表的第一列

ALTER TABLE lanuser ADD truename VARCHAR(20) NOT NULL FIRST;

删除列

ALTER TABLE lanuser DROP truename;

删除多列

ALTER TABLE lanuser DROP mobile,DROP password;

添加主键约束

ALTER TABLE username ADD CONSTRAINT PK_username_id PRIMARY KEY(id);

添加一个外键约束对应lanuser 的id

ALTER TABLE username ADD FOREIGN KEY (pid) REFERENCES lanuser (id);

添加默认约束

ALTER TABLE lanuser ALTER test SET DEFAULT 15;

删除默认约束

ALTER TABLE lanuser ALTER test DROP DEFAULT;

删除主键约束

ALTER TABLE lanuser DROP PRIMARY KEY;

删除唯一约束

ALTER TABLE lanuser DROP INDEX test;

删除pid 索引

ALTER TABLE username DROP INDEX pid;

修改列定义 更名数据表

修改列的位置

ALTER TABLE username MODIFY id SMALLINT NOT NULL FIRST;

修改列属性

ALTER TABLE username MODIFY one VARCHAR(20) NOT NULL;

修改列名称 及列定义

ALTER TABLE username CHANGE pid p_id SMALLINT NOT NULL;

修改数据表的名称

ALTER TABLE usernamechange RENAME TO username;或者:
RENAME TABLE lanuser_ TO lanuser;

总结:
约束
按功能划分为:NOT NULL, PRIMARY KEY, UNIQUE KEY, DEFAULT KEY, FOREIGN KEY,
按数据列的数据划分为:表级约束,列级约束

修改数据表
针对字段操作:添加、删除字段,修改列定义,修改列名称
针对约束的操作:添加,删除各种约束
针对数据表的操作:数据表更名(两种方式);

猜你喜欢

转载自blog.csdn.net/cgq1030699125/article/details/52704092