MYSQL数据库中的常用语句命令有哪些
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章将为大家详细讲解有关MYSQL数据库中的常用语句命令有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MYSQL数据库常用语句命令1.启动MySQL服务n
千家信息网最后更新 2025年02月02日MYSQL数据库中的常用语句命令有哪些
这篇文章将为大家详细讲解有关MYSQL数据库中的常用语句命令有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
MYSQL数据库常用语句命令
1.启动MySQL服务
net start mysql
2.登录MySQL数据库
mysql -u root -p #或者mysql -h localhost -u root -p
3.数据库查看删除
# 查看所有的数据库SHOW DATABASES ;# 创建一个数据库CREATE DATABASE k;# 删除一个数据库DROP DATABASE k;# 使用这个数据库USE k;
3.数据库表查看与操作
# 查看数据库所有的表SHOW TABLES ;# 查看表的结构(以下五条语句效果相同)DESC n; # 因为简单,所以建议使用DESCRIBE n;SHOW COLUMNS IN n;SHOW COLUMNS FROM n;EXPLAIN n;# 创建一个表CREATE TABLE n(id INT, name VARCHAR(10));CREATE TABLE m(id INT, name VARCHAR(10), PRIMARY KEY (id), FOREIGN KEY (id) REFERENCES n(id), UNIQUE (name));CREATE TABLE m(id INT, name VARCHAR(10));# 直接将查询结果导入或复制到新创建的表CREATE TABLE n SELECT * FROM m;# 新创建的表与一个存在的表的数据结构类似CREATE TABLE m LIKE n;# 创建一个临时表# 临时表将在你连接MySQL期间存在。当断开连接时,MySQL将自动删除表并释放所用的空间。也可手动删除。CREATE TEMPORARY TABLE l(id INT, name VARCHAR(10));# 直接将查询结果导入或复制到新创建的临时表CREATE TEMPORARY TABLE tt SELECT * FROM n;# 删除一个存在表DROP TABLE IF EXISTS m;# 更改存在表的名称ALTER TABLE n RENAME m;RENAME TABLE n TO m;# 查看表的创建语句SHOW CREATE TABLE n;
4.数据库表结构查看
# 添加字段ALTER TABLE n ADD age VARCHAR(2) ;# 删除字段ALTER TABLE n DROP age;# 更改字段属性和属性ALTER TABLE n CHANGE age a INT;# 只更改字段属性ALTER TABLE n MODIFY age VARCHAR(7) ;
5.数据库表数据
# 增加数据INSERT INTO n VALUES (1, 'tom', '23'), (2, 'john', '22');INSERT INTO n SELECT * FROM n; # 把数据复制一遍重新插入# 删除数据DELETE FROM n WHERE id = 2;# 更改数据UPDATE n SET name = 'tom' WHERE id = 2;# 数据查找SELECT * FROM n WHERE name LIKE '%h%';# 数据排序(反序)SELECT * FROM n ORDER BY name, id DESC ;
6.数据库表键
# 添加主键ALTER TABLE n ADD PRIMARY KEY (id);ALTER TABLE n ADD CONSTRAINT pk_n PRIMARY KEY (id); # 主键只有一个,所以定义键名似乎也没有什么用# 删除主键ALTER TABLE n DROP PRIMARY KEY ;# 添加外键ALTER TABLE m ADD FOREIGN KEY (id) REFERENCES n(id); # 自动生成键名m_ibfk_1ALTER TABLE m ADD CONSTRAINT fk_id FOREIGN KEY (id) REFERENCES n(id); # 使用定义的键名fk_id# 删除外键ALTER TABLE m DROP FOREIGN KEY `fk_id`;# 修改外键ALTER TABLE m DROP FOREIGN KEY `fk_id`, ADD CONSTRAINT fk_id2 FOREIGN KEY (id) REFERENCES n(id); # 删除之后从新建# 添加唯一键ALTER TABLE n ADD UNIQUE (name);ALTER TABLE n ADD UNIQUE u_name (name);ALTER TABLE n ADD UNIQUE INDEX u_name (name);ALTER TABLE n ADD CONSTRAINT u_name UNIQUE (name);CREATE UNIQUE INDEX u_name ON n(name);# 添加索引ALTER TABLE n ADD INDEX (age);ALTER TABLE n ADD INDEX i_age (age);CREATE INDEX i_age ON n(age);# 删除索引或唯一键DROP INDEX u_name ON n;DROP INDEX i_age ON n;
7.数据库视图
# 创建视图CREATE VIEW v AS SELECT id, name FROM n;CREATE VIEW v(id, name) AS SELECT id, name FROM n;# 查看视图(与表操作类似)SELECT * FROM v;DESC v;# 查看创建视图语句SHOW CREATE VIEW v;# 更改视图CREATE OR REPLACE VIEW v AS SELECT name, age FROM n;ALTER VIEW v AS SELECT name FROM n ;# 删除视图DROP VIEW IF EXISTS v;
8.数据库联接
# 内联接SELECT * FROM m INNER JOIN n ON m.id = n.id;# 左外联接SELECT * FROM m LEFT JOIN n ON m.id = n.id;# 右外联接SELECT * FROM m RIGHT JOIN n ON m.id = n.id;# 交叉联接SELECT * FROM m CROSS JOIN n; # 标准写法SELECT * FROM m, n;# 类似全连接full join的联接用法SELECT id,name FROM mUNIONSELECT id,name FROM n;
9.数据库函数
# 聚合函数SELECT count(id) AS total FROM n; # 总数SELECT sum(age) AS all_age FROM n; # 总和SELECT avg(age) AS all_age FROM n; # 平均值SELECT max(age) AS all_age FROM n; # 最大值SELECT min(age) AS all_age FROM n; # 最小值# 数学函数SELECT abs(-5); # 绝对值SELECT bin(15), oct(15), hex(15); # 二进制,八进制,十六进制SELECT pi(); # 圆周率3.141593SELECT ceil(5.5); # 大于x的最小整数值6SELECT floor(5.5); # 小于x的最大整数值5SELECT greatest(3,1,4,1,5,9,2,6); # 返回集合中最大的值9SELECT least(3,1,4,1,5,9,2,6); # 返回集合中最小的值1SELECT mod(5,3); # 余数2SELECT rand(); # 返回0到1内的随机值,每次不一样SELECT rand(5); # 提供一个参数(种子)使RAND()随机数生成器生成一个指定的值。SELECT round(1415.1415); # 四舍五入1415SELECT round(1415.1415, 3); # 四舍五入三位数1415.142SELECT round(1415.1415, -1); # 四舍五入整数位数1420SELECT truncate(1415.1415, 3); # 截短为3位小数1415.141SELECT truncate(1415.1415, -1); # 截短为-1位小数1410SELECT sign(-5); # 符号的值负数-1SELECT sign(5); # 符号的值正数1SELECT sqrt(9); # 平方根3SELECT sqrt(9); # 平方根3# 字符串函数SELECT concat('a', 'p', 'p', 'le'); # 连接字符串-appleSELECT concat_ws(',', 'a', 'p', 'p', 'le'); # 连接用','分割字符串-a,p,p,leSELECT insert('chinese', 3, 2, 'IN'); # 将字符串'chinese'从3位置开始的2个字符替换为'IN'-chINeseSELECT left('chinese', 4); # 返回字符串'chinese'左边的4个字符-chinSELECT right('chinese', 3); # 返回字符串'chinese'右边的3个字符-eseSELECT substring('chinese', 3); # 返回字符串'chinese'第三个字符之后的子字符串-ineseSELECT substring('chinese', -3); # 返回字符串'chinese'倒数第三个字符之后的子字符串-eseSELECT substring('chinese', 3, 2); # 返回字符串'chinese'第三个字符之后的两个字符-inSELECT trim(' chinese '); # 切割字符串' chinese '两边的空字符-'chinese'SELECT ltrim(' chinese '); # 切割字符串' chinese '两边的空字符-'chinese 'SELECT rtrim(' chinese '); # 切割字符串' chinese '两边的空字符-' chinese'SELECT repeat('boy', 3); # 重复字符'boy'三次-'boyboyboy'SELECT reverse('chinese'); # 反向排序-'esenihc'SELECT length('chinese'); # 返回字符串的长度-7SELECT upper('chINese'), lower('chINese'); # 大写小写 CHINESE chineseSELECT ucase('chINese'), lcase('chINese'); # 大写小写 CHINESE chineseSELECT position('i' IN 'chinese'); # 返回'i'在'chinese'的第一个位置-3SELECT position('e' IN 'chinese'); # 返回'i'在'chinese'的第一个位置-5SELECT strcmp('abc', 'abd'); # 比较字符串,第一个参数小于第二个返回负数- -1SELECT strcmp('abc', 'abb'); # 比较字符串,第一个参数大于第二个返回正数- 1# 时间函数SELECT current_date, current_time, now(); # 2018-01-13 12:33:43 2018-01-13 12:33:43SELECT hour(current_time), minute(current_time), second(current_time); # 12 31 34SELECT year(current_date), month(current_date), week(current_date); # 2018 1 1SELECT quarter(current_date); # 1SELECT monthname(current_date), dayname(current_date); # January SaturdaySELECT dayofweek(current_date), dayofmonth(current_date), dayofyear(current_date); # 7 13 13# 控制流函数SELECT if(3>2, 't', 'f'), if(3<2, 't', 'f'); # t fSELECT ifnull(NULL, 't'), ifnull(2, 't'); # t 2SELECT isnull(1), isnull(1/0); # 0 1 是null返回1,不是null返回0SELECT nullif('a', 'a'), nullif('a', 'b'); # null a 参数相同或成立返回null,不同或不成立则返回第一个参数SELECT CASE 2 WHEN 1 THEN 'first' WHEN 2 THEN 'second' WHEN 3 THEN 'third' ELSE 'other' END ; # second# 系统信息函数SELECT database(); # 当前数据库名-testSELECT connection_id(); # 当前用户id-306SELECT user(); # 当前用户-root@localhostSELECT version(); # 当前mysql版本SELECT found_rows(); # 返回上次查询的检索行数
10.数据库用户管理
# 增加用户CREATE USER 'test'@'localhost' IDENTIFIED BY 'test';INSERT INTO mysql.user(Host, User, Password) VALUES ('localhost', 'test', Password('test')); # 在用户表中插入用户信息,直接操作User表不推荐# 删除用户DROP USER 'test'@'localhost';DELETE FROM mysql.user WHERE User='test' AND Host='localhost';FLUSH PRIVILEGES ;# 更改用户密码SET PASSWORD FOR 'test'@'localhost' = PASSWORD('test');UPDATE mysql.user SET Password=Password('t') WHERE User='test' AND Host='localhost';FLUSH PRIVILEGES ;# 用户授权GRANT ALL PRIVILEGES ON *.* TO test@localhost IDENTIFIED BY 'test';# 授予用'test'密码登陆成功的test@localhost用户操作所有数据库的所有表的所有的权限FLUSH PRIVILEGES ; # 刷新系统权限表,使授予权限生效# 撤销用户授权REVOKE DELETE ON *.* FROM 'test'@'localhost'; # 取消该用户的删除权限
11数据库备份与还原
# 数据库备份mysqldump -u root -p db_name > file.sqlmysqldump -u root -p db_name table_name > file.sql# 数据库还原mysql -u root -p < file.sql
关于"MYSQL数据库中的常用语句命令有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
数据
字符
数据库
字符串
用户
函数
语句
视图
参数
字段
权限
命令
常用
最大
最小
四舍五入
三个
位置
属性
空字符
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
ppt课件校园网络安全
智能服务器机柜
网络安全陕出来
学校网络安全实施办法
小程序开发后端数据库
工商银行软件开发难度
本地建立svn服务器
lol手游哪个服务器活动多
第二代数据库系统是指
合肥 银行 软件开发公司
重庆分布式服务器排名
软件开发加密流程五个阶段
武昌医院网络安全
360网络安全分析报告
网络安全反诈知识小学生
恋爱助手带数据库
河南小当家网络技术有限公司
数据库怎样升级
瀚高数据库dba课程
意识形态网络安全管理
如何确定电脑数据库的安全
数据库怎么判断第几范式例题
亚洲服务器租用
adb导出安卓手机数据库
汽车研发问题数据库及应用
t630服务器 系统
投票系统数据库
小说网数据库创建
日记排版软件开发
亳州证券软件开发