Welcome to MySQL Workbench:MySQL 字符串函数CHARACTER_LENGTH(pro)

MySQL Workbench 是一个流行的数据库管理工具,用于设计、开发和管理 MySQL 数据库。在这个环境中,你可以执行 SQL 查询、设计数据库结构、管理用户权限等。
你提到的 CHARACTER_LENGTH(pro) 是 MySQL 中的一个字符串函数。这个函数返回字符串 pro 的字符数。如果 pro 是一个二进制字符串,则返回其字节数。
例如:

SELECT CHARACTER_LENGTH('Hello');

这将返回 5,因为 “Hello” 有5个字符。
注意:对于多字节的字符集(如 UTF-8),一个字符可能由多个字节组成。例如,对于某些特殊字符,CHARACTER_LENGTH 可能返回一个比你预期的更小的数字。如果你想获取字符串的字节数,而不是字符数,你可以使用 LENGTH() 函数。当你在 MySQL Workbench 中使用 CHARACTER_LENGTH(pro) 时,请确保你正确地输入了函数名称和参数。还要注意,函数的参数 pro 必须是一个字符串类型的列或值。
此外,你还可以在查询中使用其他字符串函数,例如 CONCAT()LOWER()UPPER()SUBSTRING() 等。这些函数可以帮助你处理和转换字符串数据,以便进行更复杂的查询和数据分析。
如果你在使用 MySQL Workbench 时遇到任何问题或错误,可以查看 MySQL 文档或寻求社区支持以获得帮助。在使用 MySQL Workbench 进行数据库操作时,了解数据类型和函数的作用是非常重要的。正确的数据类型可以确保数据的准确性和查询的性能,而适当的函数则可以帮助你更有效地处理和转换数据。
例如,如果你想将字符串转换为大写,可以使用 UPPER() 函数:

SELECT UPPER('hello');

这将返回 HELLO
相反,如果你想将字符串转换为小写,可以使用 LOWER() 函数:

SELECT LOWER('HELLO');

这将返回 hello
另一个常用的字符串函数是 SUBSTRING(),它可以从字符串中提取子字符串。你可以指定起始位置和长度来截取你想要的子串:

SELECT SUBSTRING('Hello, World!', 7, 5);

这将返回 World。在这个例子中,我们从第7个字符开始,提取5个字符的子串。
了解并正确使用这些字符串函数,可以帮助你更有效地处理和操作数据库中的字符串数据。除了上述提到的字符串函数,MySQL 还提供了许多其他有用的字符串函数。例如,LOCATE() 函数可以查找子串在字符串中的位置,REPLACE() 函数可以替换字符串中的特定部分,TRIM() 函数可以去除字符串两端的空格等。
下面是一个使用 LOCATE() 函数的示例:

SELECT LOCATE('world', 'Hello, World!');

这将返回 7,因为子串 “world” 在字符串 “Hello, World!” 中开始于第7个字符。
再来看一个使用 REPLACE() 函数的示例:

SELECT REPLACE('Hello, World!', 'World', 'Universe');

这将返回 Hello, Universe!,因为所有出现的 “World” 都被替换成了 “Universe”。
使用这些字符串函数,你可以根据需要在数据库查询中进行各种复杂的字符串操作。确保在编写查询时仔细检查函数名称和参数,以避免任何错误或混淆。
在这里插入图片描述

CHARACTER_LENGTH(pro):
返回字符串 s 的字符数

CREATE TABLE test_NO1(
test_NO1_id INT NOT NULL AUTO_INCREMENT,
test_NO1_title VARCHAR(100) NOT NULL,
test_NO1_author VARCHAR(40) NOT NULL,
test_NO1_date DATE,
PRIMARY KEY ( test_NO1_id )
)ENGINE=InnoDB;

drop table test_no1;


INSERT INTO test_NO1 
    (test_NO1_title, test_NO1_author, test_NO1_date )
    VALUES
    ("programb", "welcome to programb", NOW());
    
    
select * from test_NO1;


INSERT INTO test_NO1 
    (test_NO1_title, test_NO1_author, test_NO1_date )
    VALUES
    ("programb2", "welcome to programb2", NOW());
    
INSERT INTO test_NO1 
    (test_NO1_title, test_NO1_author, test_NO1_date )
    VALUES
    ("programb3", "welcome to programb3", NOW());
    
    

SELECT * from test_NO1  WHERE test_NO1_title='programb2';

SELECT * from test_NO1;

update test_NO1 SET test_NO1_title='programb100' WHERE test_NO1_id=1;

SELECT * from test_NO1 where test_NO1_id=1;

SELECT * from test_NO1;

DELETE FROM test_NO1 WHERE test_NO1_id=1;

SELECT * from test_NO1;

 SELECT * from test_NO1  WHERE test_NO1_title LIKE '%programb2';
 
 INSERT INTO test_NO1 
    (test_NO1_title, test_NO1_author, test_NO1_date )
    VALUES
    ("programb2", "welcome.to.programb2", NOW());
 
 SELECT * from test_NO1  WHERE test_NO1_author LIKE '%programb2';
 
 SELECT * from test_NO1  WHERE test_NO1_author LIKE '%to%';
 
 SELECT * from test_NO1  WHERE test_NO1_author LIKE 'welcome%';
 
 SELECT * from test_NO1;
 
 CREATE TABLE test_NO2(
test_NO1_id INT NOT NULL AUTO_INCREMENT,
test_NO1_title VARCHAR(100) NOT NULL,
test_NO1_author VARCHAR(40) NOT NULL,
test_NO1_date DATE,
PRIMARY KEY ( test_NO1_id )
)ENGINE=InnoDB;

 INSERT INTO test_NO2
    (test_NO1_title, test_NO1_author, test_NO1_date )
    VALUES
    ("programb2", "welcome.to.programb2", NOW());
    
 SELECT * from test_NO2;
 
 SELECT test_NO1_author FROM test_no1
 UNION
 SELECT test_NO1_author FROM test_no2
 ORDER BY test_NO1_author; 
 
  SELECT test_NO1_author FROM test_no1
 UNION all
 SELECT test_NO1_author FROM test_no2
 ORDER BY test_NO1_author; 
 
 
select * from test_no1 order by test_NO1_date asc;

INSERT INTO test_NO1 
    (test_NO1_title, test_NO1_author, test_NO1_date )
    VALUES
    ("programb4", "welcome to programb4", NOW());
    
INSERT INTO test_NO1 
    (test_NO1_title, test_NO1_author, test_NO1_date )
    VALUES
    ("programb5", "welcome to programb5", NOW());
    
select * from test_no1 order by test_NO1_date asc;

select * from test_no1 order by test_NO1_date desc;

select test_NO1_title, count(*) from test_no1 group by test_NO1_title;

select test_NO1_title, sum(test_NO1_id)  from test_no1 group by test_NO1_title;

select test_NO1_title, avg(test_NO1_id)  from test_no1 group by test_NO1_title;

SELECT * from test_NO1;

SELECT * from test_no2;

INSERT INTO test_NO2 
    (test_NO1_title, test_NO1_author, test_NO1_date )
    VALUES
    ("programb4", "welcome to programb4", NOW());
    
INSERT INTO test_NO2 
    (test_NO1_title, test_NO1_author, test_NO1_date )
    VALUES
    ("programb2", "welcome to programb2", NOW());
    
SELECT * from test_no2;

select t1.test_NO1_title, t2.test_NO1_date from test_no1 t1, test_no2 t2 where t1.test_NO1_date=t2.test_NO1_date;

select t1.test_NO1_title, t2.test_NO1_date from test_no1 t1 left join test_no2 t2 on t1.test_NO1_date=t2.test_NO1_date;

select t1.test_NO1_title, t2.test_NO1_date from test_no1 t1 right join test_no2 t2 on t1.test_NO1_date=t2.test_NO1_date;


SELECT * from test_no2;

INSERT INTO test_NO2 
    (test_NO1_title, test_NO1_author, test_NO1_date )
    VALUES
    ("programb2", "welcome", NOW());

SELECT * from test_no2;

select * from test_no2 where test_NO1_author is null;


INSERT INTO test_NO2 
    (test_NO1_title, test_NO1_author )
    VALUES
    ("programb2", "welcome");

INSERT INTO test_NO2 
    (test_NO1_title, test_NO1_author )
    VALUES
    ("programb2", "welcome");

INSERT INTO test_NO2 
    (test_NO1_title, test_NO1_author )
    VALUES
    ("programb2", "welcome");

SELECT * from test_no2;

select * from test_no2 where test_NO1_date is null;

select * from test_no2 where test_NO1_date is not null;

select * from test_no1 where test_NO1_title regexp '^pro';

select * from test_no1 where test_NO1_title regexp '2$';

select * from test_no1 where test_NO1_title regexp 'gra';

select * from test_no1 where test_NO1_title regexp '^[pro]|5$';

begin;

insert into  test_NO1(test_NO1_title, test_NO1_author ) value("pro","welcome");
insert into  test_NO1(test_NO1_title, test_NO1_author ) value("pro","welcome");
insert into  test_NO1(test_NO1_title, test_NO1_author ) value("pro","welcome");
insert into  test_NO1(test_NO1_title, test_NO1_author ) value("pro","welcome");
insert into  test_NO1(test_NO1_title, test_NO1_author ) value("pro","welcome");
insert into  test_NO1(test_NO1_title, test_NO1_author ) value("pro","welcome");

commit;

SELECT * from test_NO1;


show columns from test_no1;

alter table test_no1 alter test_NO1_author set default 1000;

alter table test_no1 modify test_NO1_author  varchar(100);

show columns from test_no1;

alter table test_no1 drop  test_NO1_author;

show columns from test_no1;

alter table test_no1 add test_NO1_author int first;

show columns from test_no1;

alter table test_no1 drop  test_NO1_author;

alter table test_no1 add test_NO1_author int;

show columns from test_no1;

alter table test_no1 drop  test_NO1_author;

alter table test_no1 add test_NO1_author varchar(100);

CREATE TABLE test_no3(ID INT NOT NULL,username VARCHAR(16) NOT NULL, INDEX username2 (username(12)));  

show columns from test_no3;

SELECT * from test_no3;

select username from test_no3;

SHOW INDEX FROM test_no3;

DROP INDEX username2 ON test_no3; 

SHOW INDEX FROM test_no3;

ALTER TABLE test_no3 ADD INDEX (username);

 ALTER TABLE test_no3 DROP INDEX username;
 
 
 
 CREATE TEMPORARY TABLE test_no4 (test_name VARCHAR(50) NOT NULL);
 
 select * from test_no4;
 
 DROP TABLE test_no4;
 
 INSERT INTO test_no4 (test_name)VALUES(1000000);
 
 
  select * from test_no3;
  
  SHOW CREATE TABLE test_no3;
  
  INSERT INTO test_no3 (id,username)VALUES(1,1000000);
  
  select * from test_no3;
  
  CREATE TABLE test_no5 (id int ,username VARCHAR(50) NOT NULL);
  INSERT INTO test_no5(id,username)SELECT id,username FROM test_no3; 
  
    select * from test_no5;
    
    SELECT VERSION();
    SELECT USER();
    SELECT DATABASE();
    SHOW STATUS;
    SHOW VARIABLES;
    
    CREATE TABLE test_no6(id INT UNSIGNED NOT NULL AUTO_INCREMENT,PRIMARY KEY (id),name VARCHAR(30) NOT NULL);
    INSERT INTO test_no6 (id,name)values(null,'1001');
	INSERT INTO test_no6 (id,name)values(null,'1002');
	INSERT INTO test_no6 (id,name)values(null,'1003');
    INSERT INTO test_no6 (id,name)values(null,'1004');
	INSERT INTO test_no6 (id,name)values(null,'1005');
	INSERT INTO test_no6 (id,name)values(null,'1006');
	INSERT INTO test_no6 (id,name)values(null,'1007');
    
    SELECT * FROM test_no6 ORDER BY id;
    
    CREATE TABLE test_no7(first_name CHAR(20),last_name CHAR(20),sex CHAR(10));
    
    CREATE TABLE test_no8(first_name CHAR(20) NOT NULL,last_name CHAR(20) NOT NULL,sex CHAR(10),PRIMARY KEY (last_name, first_name));
    
    CREATE TABLE test_no9(first_name CHAR(20) NOT NULL,last_name CHAR(20) NOT NULL,sex CHAR(10),UNIQUE (last_name, first_name));
    
    SELECT * FROM test_no1 INTO OUTFILE 'f:\ddd.txt';
    
    SELECT ASCII(test_NO1_title) AS test_NO1_title FROM test_no1;
  
    select * from test_no1;
    
    SELECT CHAR_LENGTH("test_NO1_title") AS test_NO1_title;
    
    SELECT CHARACTER_LENGTH("test_NO1_title") AS test_NO1_title;
    SELECT CHARACTER_LENGTH("test_NO1_title") AS test_NO1_title;

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bol5261

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值