(一)MySQL学习笔记
2024-09-22 23:56:12
1.MySQL安装
下载地址:https://dev.mysql.com/downloads/mysql/
启动mysql服务
net start mysql
停止mysql服务
net stop mysql
登录mysql
mysql -u root -p
2.MySQL基础命令
(以下msg为表名,title,imge,dates为字段名)
1.显示所有数据库
SHOW DATABASES;
2.使用某个数据库
USE 数据库名;
3.显示所有数据表
SHOW TABLES;
4.创建数据表
CREATE TABLE msg VALUES(
字段名1 字段类型1,
字段名2 字段类型2 CONSTRAINT_NAME,
....
)
--CONSTRAINT_NAME(约束)包括以下:
--NOT NULL - 指示某列不能存储 NULL 值。
--UNIQUE - 保证某列的每行必须有唯一的值。
--PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
--FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
--CHECK - 保证列中的值符合指定的条件。
--DEFAULT - 规定没有给列赋值时的默认值。
CREATE TABLE tdcp VALUES(
title varchar(100),
aid varchar(20) NOT NULL,
type varchar(10)
author varchar(100),
PRIMARY KEY (aid) #主键约束
)
5.查询相关语句
SELECT * FROM info; # 查询整张表 SELECT * FROM info LIMIT ; 查询前10条记录 SELECT UCASE/LCASE(image) FROM msg ; #将结果转换成大/小写 SELECT title,image,dates FROM msg GROUP BY dates; # 将结果按时间排序 SELECT MID(title,,) FROM msg; # 在title中第一个字符开始截取长度为5的字符串 SELECT LENGTH(title) AS len FROM msg; # 计算title的长度 SELECT ROUND(1.2684,); 返回四舍五入保留三位小数的结果 SELECT DISTINCT types FROM info; #将结果去重 SELECT title FROM info WHERE types='生活'; #查询types为'生活'的title SELECT title FROM info WHERE coin>; #查询coin大于10000的title SELECT title FROM info WHERE coin> AND types='动画'; #查询coin大于10000并且types为'动画'的tittle SELECT title, image, DATE_FORMAT(NOW(),'%Y.%m.%d') AS date FROM msg; #返回指定格式的当前时间。NOW()返回当前系统时间,FORMAT用于格式化 SELECT title FROM info WHERE danmaku BETWEEN AND ; #查询danmaku在1000和100000之间的title SELECT title FROM info WHERE danmaku IN (, ,); #查询danmaku为0或100或1000的title SELECT * FROM info WHERE title (NOT)LIKE '%东西%'; #查询title中(不)含有'东西'的记录 SELECT * FROM info ORDER BY danmaku DESC; #查询所有记录,并以danmaku降序排列,DESC去掉就为升序 SELECT title FROM info AS T; #将T作为info的表别名进行后续查询 SELECT X.aid,X.title,X.author FROM info AS X; #查询info表的aid,title,author
SELECT X.aid,X.title FROM info AS X,td AS T WHERE X.aid=T.aid AND X.title='【崩坏3】'; #查询info表的aid和td表的aid相同,并且info表的title为【崩坏3】的记录 SELECT aid AS W,author AS A FROM info; #将W,A分别作为aid,author的列别名进行显示
SELECT title, CONCAT(aid,'&',danmaku,'&',author) AS ada FROM info; #将aid,danmaku,author以&连接作为ada进行显示(多个列名合并) SELECT info.title FROM info INNER JOIN td ON info.aid=td.copy_id; #内连接,查询info表的aid和td表的copy_id相同的title
SELECT info.title FROM info LEFT JOIN td ON info.aid=td.copy_id; 左连接(左表info),与下面一条结果相同
SELECT td.title FROM td RIGHT JOIN info ON info.aid=td.copy_id; 右连接(右表info)
SELECT aid FROM info UNION SELECT copy_id FROM td; #将info表的aid和td表的copy_id联合显示(不重复)
SELECT aid FROM info UNION ALL SELECT copy_id FROM td; #将info表的aid和td表的copy_id联合显示(重复)
SELECT title FROM info WHERE types='生活' UNION (ALL) SELECT title FROM td WHERE title='Evolution'; #联合两个查询语句结果
6.插入
INSERT INTO info (types,title,danmaku) VALUES ('网站','www.baidu.com',); #将值插入,字段没有的默认为空
7.更新
UPDATE info SET title='www.google.com' WHERE types='百度'; #将type为'百度'的title更新为'www.google.com'
8.删除
DROP TABLE info; #删除info表
DELETE FROM info WHERE type='动画'; #删除type为'动画'的记录
9.修改
ALTER TABLE info RENAME TO my_info; #修改info表名为my_info ALTER TABLE info MODIFY COLUMN views VARCHAR(20); #修改info表的views字段的类型为varchar(20) ALTER TABLE info CHANGE title tt VARCHAR(255); #修改info表的title字段为tt,类型为varchar(255)
ALTER TABLE info ADD PRIMARY KEY (aid); #已创建的表info添加主键
ALTER TABLE info DROP PRIMARY KEY #删除info表的主键 ALTER TABLE info DROP COLUMN title; #将title列从info表中删除 ALTER TABLE info ADD title VARCHAR(255); #将列title插入到info表
最新文章
- The superclass ";javax.servlet.http.HttpServlet"; was not found on the Java Build Path
- 模块module
- zabbix之MySQL数据库的安装
- android开发中的变量名称
- echarts html传参+js请求+ashx服务 代码方式
- 夺命雷公狗---node.js---8url模块和util模块
- 使用JSPatch平台热修复iosApp
- Java DES 加解密文件
- android 分区layout以及虚拟内存布局-小结
- every day english
- IIS配置(安装IIS、.Net、更改IIS Log目录位置)
- 深入理解Java虚拟机
- C#数据采集类
- opencv里面CV_32FC1家族
- ios面试题集锦(一)
- dedecms 使noflag参数及其过滤多个属性的修改方法
- Mad Lib程序
- Net分布式系统之五:微服务架构
- VirtulBox虚拟机搭建Linux Centos系统
- 并发编程 futuretask