千家信息网

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数据库中的常用语句命令有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0