MySql基础学习一
程序员文章站
2022-05-03 18:06:36
...
MySQL是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。多用于中小公司。
目录
开启mysql命令
mysql -uroot -p
password:*******
开启mysql命令前必须启动服务。
停止服务
查看版本、用户、时间
mysql 命令后+\c 命令不会执行
Delimiter 修改分割符
开启mysql数据日志
\T 开启日志
\t 关闭日志
数据表
数据类型
创建表
创建一个表其实就是在磁盘里创建一个文件
CREATE DATABASE IF NOT EXISTS `maizi` DEFAULT CHARACTER SET 'UTF8';
USE `maizi`;
-- 创建学员表(user)
-- 编号 id
-- 用户名 username
-- 年龄 age
-- 性别 sex
-- 邮箱 email
-- 地址 addr
-- 生日 birth
-- 薪水 salary
-- 电话 tel
-- 是否结婚 married
-- 注意:当需要输入中文的时候,需要临时转换客户端的编码方式
-- SET NAMES GBK;
-- 字段注释 通过COMMENT 注释内容 给字段添加注释
CREATE TABLE user(
id SMALLINT,
username VARCHAR(20),
age TINYINT,
sex ENUM('男','女','保密'),
email VARCHAR(50),
addr VARCHAR(200),
birth YEAR,
salary FLOAT(8,2),
tel INT,
married TINYINT(1)
);
-- 创建课程表 course
-- 编号 cid
-- 课程名称courseName
-- 课程描述courseDesc
CREATE TABLE IF NOT EXISTS course(
cid TINYINT,
courseName VARCHAR(50),
courseDesc VARCHAR(200)
);
-- 创建新闻分类表cms_cate
-- 编号、分类名称、分类描述
CREATE TABLE IF NOT EXISTS cms_cate(
id TINYINT,
cateName VARCHAR(50),
cateDesc VARCHAR(200)
)ENGINE=MyISAM CHARSET=UTF8;
-- 创建新闻表 cms_news
-- 编号、新闻标题、新闻内容、新闻发布时间、点击量、是否置顶
CREATE TABLE IF NOT EXISTS cms_news(
id INT,
title VARCHAR(50),
content TEXT,
pubTime INT,
clickNum INT,
isTop TINYINT(1) COMMENT '0代表不置顶,1代表置顶'
);
-- 查看cms_news表的表结构
DESC cms_news;
DESCRIBE cms_news;
SHOW COLUMNS FROM cms_news;
查看cms_news表的表结构
DESC cms_news;
DESCRIBE cms_news;
SHOW COLUMNS FROM cms_news;
向表中插入记录INSERT tbl_name VALUE|VALUES(值,...)
INSERT test1 VALUES(-128,-32768,-8388608,-2147483648,-9223372036854775808);
INSERT test1 VALUES(-129,-32768,-8388608,-2147483648,-9223372036854775808);
数据类型测试
-- 测试浮点类型
CREATE TABLE test4(
num1 FLOAT(6,2),
num2 DOUBLE(6,2),
num3 DECIMAL(6,2)
);
INSERT test4 VALUES(3.1415,3.1415,3.1415);
INSERT test4 VALUES(3.1495,3.1495,3.1495);
-- 测试CHAR和VARCHAR
CREATE TABLE IF NOT EXISTS test5(
str1 CHAR(5),
str2 VARCHAR(5)
);
INSERT test5 VALUES('1','1');
INSERT test5 VALUES('12345','12345');
INSERT test5 VALUES('123456','123456');
INSERT test5 VALUES('','');
INSERT test5 VALUES('1 ','1 ');
INSERT test5 VALUES(' a',' a');
INSERT test5 VALUES('啊啊啊啊啊','麦子学院好');
CREATE TABLE test6(
str1 TEXT
);
INSERT test6 VALUES('skdfjlksdfjlksjdflkj塑料口袋精灵是看见对方离开首都基辅绿卡时间的联发科技');
-- 测试枚举类型
CREATE TABLE IF NOT EXISTS test7(
sex ENUM('男','女','保密 ')
);
INSERT test7 VALUES('男 ');
INSERT test7 VALUES('女 ');
INSERT test7 VALUES('保密');
INSERT test7 VALUES('保密1');
INSERT test7 VALUES(2);
INSERT test7 VALUES(0);
INSERT test7 VALUES(NULL);
INSERT test7 VALUES('');
-- 测试集合类型
CREATE TABLE IF NOT EXISTS test8(
fav SET('A','B','C','D')
);
INSERT test8 VALUES('A,C,D');
INSERT test8 VALUES('D,B,A');
INSERT test8 VALUES(3);
INSERT test8 VALUES(15);
-- 测试日期时间
CREATE TABLE IF NOT EXISTS test9(
birth YEAR
);
INSERT test9 VALUES(1901);
INSERT test9 VALUES(2155);
INSERT test9 VALUES(2156);
CREATE TABLE IF NOT EXISTS test10(
test TIME
);
INSERT test10 VALUES('1 12:12:12');
INSERT test10 VALUES('11:11');
CREATE TABLE IF NOT EXISTS test11(
test DATE
);
INSERT test11 VALUES('12-6-7');
主键
主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。
-- 测试主键
CREATE TABLE IF NOT EXISTS user1(
id INT PRIMARY KEY,
username VARCHAR(20)
);
联合主键
通过两个字段确定一个主键
CREATE TABLE IF NOT EXISTS user2(
id INT,
username VARCHAR(20),
card CHAR(18),
PRIMARY KEY(id,card)
);
上一篇: 前端知识学习-es6基础
下一篇: c/c++ 指针 归纳一
推荐阅读
-
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
-
Spring Cloud学习教程之Zuul统一异常处理与回退
-
mysql 一个较特殊的问题:You can't specify target table 'wms_cabinet_form'
-
MSSQL存储过程学习笔记一 关于存储过程
-
MySQL一个索引最多有多少个列?真实的测试例子
-
Sql学习第一天——SQL 练习题(建表/sql语句)
-
Sql学习第一天——SQL UNION 和 UNION ALL 操作符认识
-
Sql学习第一天——SQL 将变量定义为Table类型(虚拟表)
-
JavaScript学习笔记之DOM基础操作实例小结
-
mysql批量更新多条记录的同一个字段为不同值的方法