mysql数据库1---数据库基本命令

mysql数据库1—数据库基本命令

1.mysql的shell命令

1.登录mysql(进入mysql安装目录bin目录下,打开cmd):
(1)mysql -u用户名 -p用户密码   
(2)mysql -u用户名 -p  #不输密码也可,但回车后提示你输入密码
2.退出mysql环境,三种都是一样的效果:
(1exit2)quit
(3)\q
3.查看服务器的状态信息:
(1status;  
4.显示当前mysql的version的各种信息(可在客户端的查询窗口使用)
(1select version(); 
5.查看MySQL端口号(可在客户端的查询窗口使用)
(1show global variables like 'port'; 
6.显示数据库列表(可在客户端的查询窗口使用)
(1show databases;
7.显示数据表的结构(可在客户端的查询窗口使用)
(1describe 表名;

2.创建数据库

1.语法:create database 数据库名
2.例子:create database test01

3.删除数据库

#IF EXISTS是用于防止当数据库不存在时发生错误,可不填
1.语法:DROP DATABASE IF EXISTS 数据库名
2.例子:DROP DATABASE IF EXISTS test01

4.创建数据库表

1.语法:CREATE TABLE 表名字(字段列表)

2.例子:
CREATE TABLE `user_info` ( 
 `id`          int(100)    NOT NULL AUTO_INCREMENT COMMENT '主键id', 
`phone`        varchar(20) NOT NULL DEFAULT ''     COMMENT '手机号码', 
`pass_word`    varchar(32) NOT NULL DEFAULT ''     COMMENT '用户密码',  
`type`         tinyint(32) NOT NULL DEFAULT 0      COMMENT '用户类型:0-不需要重置密码;1-需要重置密码',    
`create_date`  timestamp   NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',  
`update_date`  timestamp   NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',  
PRIMARY KEY (`id`) USING BTREE,-- 设置id为主键
KEY `phone` (`phone`) USING BTREE,-- 设置索引
KEY `phoneAndPassword` (`phone`,`password`) USING BTREE -- 设置联合索引
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
		
-- AUTO_INCREMENT:自增标识
-- CURRENT_TIMESTAMP:默认当前时间
-- CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP:默认当前时间,并使用update时,随着记录的更新该字段自动变化
-- USING BTREE:使用BTREE索引
-- ENGINE=InnoDB:使用InnoDB引擎
-- DEFAULT CHARACTER SET utf8mb4:数据库字符集。设置数据库的默认编码为utf8mb4
-- COLLATE=utf8mb4_general_ci:数据库校对规则,比较和排序,不区分大小写

5.删除表

#IF EXISTS用于防止当数据表不存在时发生错误,可不填
#DROP TABLE 可以同时删除多个表,只要将表名依次写在后面,相互之间用逗号隔开即可
1.语法:DROP TABLE IF EXISTS 表名1,表名2,表名3
2.例子:DROP TABLE user_info 

6.增删改查

(1)SELECT

SELECT 语句用于从表中选取数据。 
1.语法:
语法1SELECT 列名称 FROM 表名称 
语法2SELECT * FROM 表名称
2.例子:SELECT * FROM user_info

(2)UPDATE

Update 语句用于修改表中的数据。 
1.语法:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
2.例子:UPDATE user_info SET phone = '18318xxxx89'  WHERE id = 1

(3)INSERT

INSERT INTO 语句用于向表格中插入新的行。 
1.语法
语法:INSERT INTO 表名称 VALUES (1,2,....) 
语法:INSERT INTO 表名称 (1,2,...) VALUES (1,2,....)
2.例子:INSERT INTO user_info ('phone','pass_word')VALUES ('18318xxxx89','123456');

(4)DELETE

DELETE 语句用于删除表中的行。 
1.语法:DELETE FROM 表名称 WHERE 列名称 =2.例子:DELETE FROM user_info WHERE id = 1

(5)WHERE

WHERE 子句用于规定选择的标准。 
1.语法:SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
2.例子:
-- 从表 User 中选出 name 字段是'小林'的数据
SELECT * FROM User WHERE name = '小林';

(6)AND 和 OR

AND - 如果第一个条件和第二个条件都成立; 
OR - 如果第一个条件和第二个条件中只要有一个成立;

AND例子:
-- 删除表 User 中字段id=1 并且 字段user_id=8 的数据
DELETE from meeting where id = 1 and user_id = 8; 

OR例子:
-- 查询表 User 中名字为"小林" 或者 名字为"小张"的人
SELECT * FROM User WHERE name='小林' OR name='小张';

(7)ORDER BY

语句默认按照升序对记录进行排序。 
ORDER BY - 语句用于根据指定的列对结果集进行排序。 
DESC - 按照降序的顺序对记录进行排序。 
ASC - 按照升序的顺序对记录进行排序。
例子:
-- 对表 User 中字段 age 进行排序
SELECT name,age FROM User ORDER BY age;
-- 后面跟上 DESC 则为降序显示
SELECT name,age FROM User ORDER BY age DESC;
-- 名字以降序显示公司名称,并年龄以顺序显示
SELECT name,age FROM User ORDER BY age ORDER BY name DESC, age ASC;

(8)IN

IN - 操作符允许我们在 WHERE 子句中规定多个值。 
IN - 操作符用来指定范围,范围中的每一条,都进行匹配。IN取值规律,由逗号分割,全部放置括号中。
语法:SELECT "字段名"FROM "表格名"WHERE "字段名" IN ('值一', '值二', ...);
例子:
-- 从表 User 选取 字段 name 等于 '小林'、'小张'
SELECT * FROM User WHERE name IN ('小林','小张');

(9)NOT

NOT - 操作符总是与其他操作符一起使用,用在要过滤的前面
例子:
-- 查询表 User 中不是小林的所有记录
SELECT * FROM User WHERE NOT name = '小林';

(10)UNION

UNION - 操作符用于合并两个或多个 SELECT 语句的结果集。
例子:
-- 列出所有在用户日志表1(User_Log1)和用户日志表2(User_Log2)的不同的用户名
SELECT name FROM User_Log1 UNION SELECT name FROM User_Log2 
-- 列出 User 表中的 id,name,任务表 Task 中的id,task_name 别名设置成 name 避免字段不一样报错,按更新时间排序
SELECT id,name FROM User UNION ALL SELECT id,task_name AS name FROM Task  ORDER BY update_at;

(11)AS

as - 可理解为:用作、当成,作为;别名 
一般是重命名列名或者表名。 
语法:select column_1 as1,column_2 as2 from table as 表
例子:
-- 这句意思是查找所有User表里面的数据,并把User表格命名为 u
SELECT * FROM User AS u。
-- 列出表 User 中字段age列最大值,结果集列不显示 age,显示 中文‘年龄’ 
SELECT MAX(age) AS '年龄' FROM User;

(12)JOIN

用于根据两个或多个表中的列之间的关系,从这些表中查询数据
JOIN: 如果表中有至少一个匹配,则返回行

INNER JOIN:在表中存在至少一个匹配时,INNER JOIN 关键字返回行。

LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行

RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行

FULL JOIN: 只要其中一个表中存在匹配,就返回行

例子:
SELECT u.name from User u 
left join User_Role ur on u.user_id = ur.user_id 
left join Role r on r.role_id = ur.role_id

7.SQL基本 函数

(1)COUNT

COUNT 计算数据库表中有多少行数据,NULL值不计入,比如count计算某字段,不计算那字段null值那一行
语法:SELECT COUNT("字段名") FROM "表名";
例如: select count(*) from User;

(2)MAX

MAX 函数返回一列中的最大值。NULL 值不包括在计算中。 
语法:SELECT MAX("字段名") FROM "表格名"
例如:select MAX('name') from User;

8.创建后表的修改

(1)添加列

语法:alter table 表名 add 列名 列数据类型 [after 插入位置];
例子:
-- 在表User的最后追加列 address 
alter table User add address char(60);
-- 在表User中名为 name 的列后插入列 age: 
alter table User add age int(3) not null default 0 after name;
-- 在表User中名为age的列后插入列birthday:
alter table User add column birthday date after age;

(2)修改列

语法:alter table 表名 change 列名称 列新名称 新数据类型;
例子:
-- 将表 User 中 phone 列改名为 telphone
alter table User change phone telphone char(13) default "-";
-- 将表 User 中 name 列的数据类型改为 char(16): 
alter table User change name name char(20) not null;
-- 修改表 User 中 name 的备注,COMMENT 前面必须得有类型属性
alter table User change name name char(25) COMMENT '这里是名字';
-- 修改表 User 中字段age的属性,修改列属性的时候 使用modify
alter table User modify age varchar(20) NOT NULL DEFAULT "" COMMENT "";

(3)删除列

语法:alter table 表名 drop 列名称;
-- 删除表 User 中的 birthday 列:
alter table User drop birthday;

(4)重命名表

语法:alter table 表名 rename 新表名;
例子:
-- 重命名 User 表为 Sys_User: 
alter table User rename Sys_User;

(5)清空表数据

-- DELETE方法为DML语言,可以回退,可以有条件的删除
-- TRUNCATE方法为DDL语言,无法回退,默认所有的表内容都删除,删除速度比delete快
方法一:delete from 表名;
方法二:truncate table "表名";
例子:
delete from User where user_name = '小林';
truncate table User;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值