当前位置: 首页 > wzjs >正文

曹县网站建设公司常州百度关键词优化

曹县网站建设公司,常州百度关键词优化,义乌城市投资建设集团网站,英文seo招聘4.3 使用临时表 Drop table 语句来删除表, 选择使用create temporary table 语句,创建的是一张临时表。 Create temporary table tb1_name(…列定义…) 克隆表 Create temporary table new_table like original_table 根据查询结果建表 Create temporary…

4.3 使用临时表
Drop table 语句来删除表,
选择使用create temporary table 语句,创建的是一张临时表。
Create temporary table tb1_name(…列定义…)
克隆表
Create temporary table new_table like original_table
根据查询结果建表
Create temporary table tb1_name select …
临时表可以使用普通表的表名。在临时表的生命周期内,它将屏蔽与之同名的普通表。对其任意操作,不影响真实数据。

mysql> create temporary table mail select * from mail;
Query OK, 16 rows affected (0.02 sec)
Records: 16  Duplicates: 0  Warnings: 0mysql> select count(*) from mail;
+----------+
| count(*) |
+----------+
|       16 |
+----------+
1 row in set (0.01 sec)mysql> delete from mail;
Query OK, 16 rows affected (0.00 sec)mysql> select count(*) from mail;
+----------+
| count(*) |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)mysql> drop table mail;
Query OK, 0 rows affected (0.00 sec)mysql> select count(*) from mail;
+----------+
| count(*) |
+----------+
|       16 |
+----------+
1 row in set (0.00 sec)

只有在最后一次使用之后,数据库才会自动删除临时表
应用程序中使用一个与普通表同名的临时表时, 应用程序只会对该临时表就行修改。
应用程序API提供数据库的持久连接或者连接池, 可以使用这些技术保证临时表的持久性。
比较明智的做法是在创建临时表之前执行下面的语句
Drop temporary table if exists tb1_name

4.4 检查或改变某个表的存储引擎

mysql> SELECT engine FROM information_schema.tables-> WHERE table_schema = 'cookbook' AND table_name = 'mail';
+--------+
| ENGINE |
+--------+
| InnoDB |
+--------+
1 row in set (0.02 sec)
mysql> show table status like 'mail'\G
*************************** 1. row ***************************Name: mailEngine: InnoDBVersion: 10Row_format: DynamicRows: 16Avg_row_length: 1024Data_length: 16384
Max_data_length: 0Index_length: 16384Data_free: 0Auto_increment: NULLCreate_time: 2024-12-17 19:34:31Update_time: NULLCheck_time: NULLCollation: utf8mb4_0900_ai_ciChecksum: NULLCreate_options:Comment:
1 row in set (0.01 sec)
mysql> show create table mail\G
*************************** 1. row ***************************Table: mail
Create Table: CREATE TABLE `mail` (`t` datetime DEFAULT NULL,`srcuser` char(8) DEFAULT NULL,`srchost` char(20) DEFAULT NULL,`dstuser` char(8) DEFAULT NULL,`dsthost` char(20) DEFAULT NULL,`size` bigint DEFAULT NULL,KEY `t` (`t`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)

4.5 生成唯一的表名
如果你能创建一张temporary表, 就无所谓表名是否重复了。
Import io
Tb1_name = “tmp_tb1_%d” % os.getpid()

https://zhuanlan.zhihu.com/p/721613208
https://zhuanlan.zhihu.com/p/367182300
https://www.zhihu.com/column/c_1253693093662093312
https://www.zhihu.com/question/55720139/answer/1719997534

from multiprocessing import Process
import os# 子进程要执行的代码
def run_proc(name):print('Run child proces: %s (%s)...' % (name, os.getpid()))if __name__ == '__main__':print('Parent process %s.' % os.getpid())p = Process(target=run_proc, args=('test', ))print('Child process will start.')p.start()p.join()
print('Child process end.')

Parent process 15256.
Child process will start.
Child process end.

``
import os
from multiprocessing import Processdef child_process():print('I am child process (%s) and my parent is %s.' % (os.getpid(), os.getppid()))if __name__ == '__main__':print('Process (%s) start...' % os.getpid())p = Process(target=child_process)p.start()p.join()print('I (%s) just created a child process (%s).' % (os.getpid(), p.pid))Process (15256) start...
I (15256) just created a child process (13264).import os
import sys
from multiprocessing import Processdef child_process():# Force immediate output (critical for Windows)sys.stdout.flush()sys.stderr.flush()print(f'CHILD: I am process {os.getpid()} with parent {os.getppid()}')# Explicitly flush againsys.stdout.flush()if __name__ == '__main__':print(f'PARENT: Process {os.getpid()} starting...')p = Process(target=child_process)p.start()# Wait for child to finishp.join()  print(f'PARENT: Created child process {p.pid}')print("Note: If you don't see CHILD output above, try running this in:")print("1. A terminal (not IDE)")
print("2. Command Prompt: python script.py")PARENT: Process 15256 starting...
PARENT: Created child process 1044
Note: If you don't see CHILD output above, try running this in:
1. A terminal (not IDE)
2. Command Prompt: python script.py

使用下面的语句安全的删除它:
Drop table if exists tb1_name
第5章:与字符串共舞
5.0 引言
5.1 字符串属性

mysql> show character set;
+----------+---------------------------------+---------------------+--------+
| Charset  | Description                     | Default collation   | Maxlen |
+----------+---------------------------------+---------------------+--------+
| armscii8 | ARMSCII-8 Armenian              | armscii8_general_ci |      1 |
| ascii    | US ASCII                        | ascii_general_ci    |      1 |
| big5     | Big5 Traditional Chinese        | big5_chinese_ci     |      2 |
| binary   | Binary pseudo charset           | binary              |      1 |
| cp1250   | Windows Central European        | cp1250_general_ci   |      1 |
| cp1251   | Windows Cyrillic                | cp1251_general_ci   |      1 |
| cp1256   | Windows Arabic                  | cp1256_general_ci   |      1 |
| cp1257   | Windows Baltic                  | cp1257_general_ci   |      1 |
| cp850    | DOS West European               | cp850_general_ci    |      1 |
| cp852    | DOS Central European            | cp852_general_ci    |      1 |
| cp866    | DOS Russian                     | cp866_general_ci    |      1 |
| cp932    | SJIS for Windows Japanese       | cp932_japanese_ci   |      2 |
| dec8     | DEC West European               | dec8_swedish_ci     |      1 |
| eucjpms  | UJIS for Windows Japanese       | eucjpms_japanese_ci |      3 |
| euckr    | EUC-KR Korean                   | euckr_korean_ci     |      2 |
| gb18030  | China National Standard GB18030 | gb18030_chinese_ci  |      4 |
| gb2312   | GB2312 Simplified Chinese       | gb2312_chinese_ci   |      2 |
| gbk      | GBK Simplified Chinese          | gbk_chinese_ci      |      2 |
| geostd8  | GEOSTD8 Georgian                | geostd8_general_ci  |      1 |
| greek    | ISO 8859-7 Greek                | greek_general_ci    |      1 |
| hebrew   | ISO 8859-8 Hebrew               | hebrew_general_ci   |      1 |
| hp8      | HP West European                | hp8_english_ci      |      1 |
| keybcs2  | DOS Kamenicky Czech-Slovak      | keybcs2_general_ci  |      1 |
| koi8r    | KOI8-R Relcom Russian           | koi8r_general_ci    |      1 |
| koi8u    | KOI8-U Ukrainian                | koi8u_general_ci    |      1 |
| latin1   | cp1252 West European            | latin1_swedish_ci   |      1 |
| latin2   | ISO 8859-2 Central European     | latin2_general_ci   |      1 |
| latin5   | ISO 8859-9 Turkish              | latin5_turkish_ci   |      1 |
| latin7   | ISO 8859-13 Baltic              | latin7_general_ci   |      1 |
| macce    | Mac Central European            | macce_general_ci    |      1 |
| macroman | Mac West European               | macroman_general_ci |      1 |
| sjis     | Shift-JIS Japanese              | sjis_japanese_ci    |      2 |
| swe7     | 7bit Swedish                    | swe7_swedish_ci     |      1 |
| tis620   | TIS620 Thai                     | tis620_thai_ci      |      1 |
| ucs2     | UCS-2 Unicode                   | ucs2_general_ci     |      2 |
| ujis     | EUC-JP Japanese                 | ujis_japanese_ci    |      3 |
| utf16    | UTF-16 Unicode                  | utf16_general_ci    |      4 |
| utf16le  | UTF-16LE Unicode                | utf16le_general_ci  |      4 |
| utf32    | UTF-32 Unicode                  | utf32_general_ci    |      4 |
| utf8mb3  | UTF-8 Unicode                   | utf8mb3_general_ci  |      3 |
| utf8mb4  | UTF-8 Unicode                   | utf8mb4_0900_ai_ci  |      4 |
+----------+---------------------------------+---------------------+--------+
41 rows in set (0.01 sec)
mysql> set @s = convert('abc' using ucs2);
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> select length(@s), char_length(@s);
+------------+-----------------+
| length(@s) | char_length(@s) |
+------------+-----------------+
|          6 |               3 |
+------------+-----------------+
1 row in set (0.00 sec)mysql> set @s = convert('abc' using utf8);
Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> select length(@s), char_length(@s);
+------------+-----------------+
| length(@s) | char_length(@s) |
+------------+-----------------+
|          3 |               3 |
+------------+-----------------+
1 row in set (0.00 sec)
mysql> show collation like 'latin1%';
+-------------------+---------+----+---------+----------+---------+---------------+
| Collation         | Charset | Id | Default | Compiled | Sortlen | Pad_attribute |
+-------------------+---------+----+---------+----------+---------+---------------+
| latin1_bin        | latin1  | 47 |         | Yes      |       1 | PAD SPACE     |
| latin1_danish_ci  | latin1  | 15 |         | Yes      |       1 | PAD SPACE     |
| latin1_general_ci | latin1  | 48 |         | Yes      |       1 | PAD SPACE     |
| latin1_general_cs | latin1  | 49 |         | Yes      |       1 | PAD SPACE     |
| latin1_german1_ci | latin1  |  5 |         | Yes      |       1 | PAD SPACE     |
| latin1_german2_ci | latin1  | 31 |         | Yes      |       2 | PAD SPACE     |
| latin1_spanish_ci | latin1  | 94 |         | Yes      |       1 | PAD SPACE     |
| latin1_swedish_ci | latin1  |  8 | Yes     | Yes      |       1 | PAD SPACE     |
+-------------------+---------+----+---------+----------+---------+---------------+
8 rows in set (0.01 sec)
mysql> create table t (c char(3) character set latin1);
Query OK, 0 rows affected (0.12 sec)mysql> insert into t (c) values('AAA'),('aaa'),('bbb'),('BBB');
Query OK, 4 rows affected (0.02 sec)
Records: 4  Duplicates: 0  Warnings: 0mysql> select c from t;
+------+
| c    |
+------+
| AAA  |
| aaa  |
| bbb  |
| BBB  |
+------+
4 rows in set (0.00 sec)mysql> select c from t order by c collate latin1_swedish_ci;
+------+
| c    |
+------+
| AAA  |
| aaa  |
| bbb  |
| BBB  |
+------+
4 rows in set (0.00 sec)mysql> select c from t order by c collate latin1_general_cs;
+------+
| c    |
+------+
| AAA  |
| aaa  |
| BBB  |
| bbb  |
+------+
4 rows in set (0.00 sec)mysql> select c from t order by c collate latin1_bin;
+------+
| c    |
+------+
| AAA  |
| BBB  |
| aaa  |
| bbb  |
+------+
4 rows in set (0.00 sec)mysql> create table tt (c char(2) character set utf8);
Query OK, 0 rows affected, 1 warning (0.06 sec)mysql> insert into tt(c) values('cg'), ('ch'), ('ci'), ('lk'), ('ll'), ('lm');
Query OK, 6 rows affected (0.01 sec)
Records: 6  Duplicates: 0  Warnings: 0mysql> select c from tt order by c collate utf8_general_ci;
+------+
| c    |
+------+
| cg   |
| ch   |
| ci   |
| lk   |
| ll   |
| lm   |
+------+
6 rows in set (0.00 sec)mysql> select c from tt order by c collate utf8_spanish2_ci;
+------+
| c    |
+------+
| cg   |
| ci   |
| ch   |
| lk   |
| lm   |
| ll   |
+------+
6 rows in set (0.00 sec)5.2 选择字符串的数据类型
`mysql> create table t2 (c1 char(10), c2 varchar(10));
Query OK, 0 rows affected (0.06 sec)mysql> insert into t2(c1, c2) values('abc       ', 'abc         ');  #用2个tab 键
Query OK, 1 row affected (0.01 sec)mysql> select c1, c2, char_length(c1), char_length(c2) from t2;
+------+-------+-----------------+-----------------+
| c1   | c2    | char_length(c1) | char_length(c2) |
+------+-------+-----------------+-----------------+
| abc    | abc           |               4 |               5 |
+------+-------+-----------------+-----------------+
1 row in set (0.00 sec)mysql> insert into t2(c1, c2) values('abc     ', 'abc     ');       #用5个空格
Query OK, 1 row affected (0.01 sec)mysql> select c1, c2, char_length(c1), char_length(c2) from t2;
+------+----------+-----------------+-----------------+
| c1   | c2       | char_length(c1) | char_length(c2) |
+------+----------+-----------------+-----------------+
| abc    | abc              |               4 |               5 |
| abc  | abc      |               3 |               8 |
+------+----------+-----------------+-----------------+
2 rows in set (0.00 sec)

5.3 正确设置客户端连接的字符集

5.4 串字母

mysql> select 'I''m asleep', 'I\'m wide awake'-> ;
+------------+----------------+
| I'm asleep | I'm wide awake |
+------------+----------------+
| I'm asleep | I'm wide awake |
+------------+----------------+
1 row in set (0.00 sec)mysql> select "He said, ""Boo!""", "And I said, \"Yikee!\"";
+-----------------+----------------------+
| He said, "Boo!" | And I said, "Yikee!" |
+-----------------+----------------------+
| He said, "Boo!" | And I said, "Yikee!" |
+-----------------+----------------------+
1 row in set (0.00 sec)mysql> select 'Install MySql in C:\\mysql on windows';
+--------------------------------------+
| Install MySql in C:\mysql on windows |
+--------------------------------------+
| Install MySql in C:\mysql on windows |
+--------------------------------------+
1 row in set (0.00 sec)MySQL 将 0x 前缀的值解释为二进制字面量,直接查询时不会自动转换为字符串:
SELECT 0x49276D2061736C656570;  -- 显示二进制原值
+------------------------------------------------+
| 0x49276D2061736C656570                         |
+------------------------------------------------+
| 0x49276D2061736C656570                         |
+------------------------------------------------+
1 row in set (0.00 sec)
若需强制显示为字符串,需显式转换:
mysql> SELECT CONCAT('0x', HEX('I''m asleep')) AS hex_result;
+------------------------+
| hex_result             |
+------------------------+
| 0x49276D2061736C656570 |
+------------------------+
1 row in set (0.00 sec)mysql> SELECT CAST(0x49276D2061736C656570 AS CHAR) AS original_string;
+-----------------+
| original_string |
+-----------------+
| I'm asleep      |
+-----------------+
1 row in set (0.00 sec)mysql> SELECT CONVERT(UNHEX('49276D2061736C656570') USING utf8) AS original_string;
+-----------------+
| original_string |
+-----------------+
| I'm asleep      |
+-----------------+
1 row in set, 1 warning (0.00 sec)5.5 检查一个字符串的字符集或字符排序
mysql> CREATE TABLE t (->     c CHAR(10)-> ) CHARACTER SET utf8 COLLATE utf8_danish_ci;
Query OK, 0 rows affected, 2 warnings (0.34 sec)mysql> select user(), charset(user()), collation(user());
+----------------+-----------------+--------------------+
| user()         | charset(user()) | collation(user())  |
+----------------+-----------------+--------------------+
| root@localhost | utf8mb3         | utf8mb3_general_ci |
+----------------+-----------------+--------------------+
1 row in set (0.01 sec)mysql> set names-> 'latin1';
Query OK, 0 rows affected (0.01 sec)mysql> select charset('abc'), collation('abc');
+----------------+-------------------+
| charset('abc') | collation('abc')  |
+----------------+-------------------+
| latin1         | latin1_swedish_ci |
+----------------+-------------------+
1 row in set (0.00 sec)mysql> set names latin7 collate 'latin7_bin';
Query OK, 0 rows affected (0.00 sec)mysql> select charset('abc'), collation('abc');
+----------------+------------------+
| charset('abc') | collation('abc') |
+----------------+------------------+
| latin7         | latin7_bin       |
+----------------+------------------+
1 row in set (0.00 sec)
  1. 为什么第一个查询显示 latin7?
    o 这是由系统变量 character_set_connection 决定的
    o 可以查看当前字符集设置:
sql
复制
下载
SHOW VARIABLES LIKE 'character_set%';
SHOW VARIABLES LIKE 'collation%';
2.	如何确保使用 UTF-8 编码?
sql
复制
下载
-- 设置连接字符集
SET NAMES utf8mb4;-- 再次检查
SELECT CHARSET('a'), COLLATION('a');
3.	创建表时指定字符集(最佳实践)
sql
复制
下载
CREATE TABLE t (c CHAR(10)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
示例完整流程
sql
复制
下载
-- 1. 创建表(使用明确字符集)
CREATE TABLE t (c CHAR(10)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;-- 2. 插入测试数据
INSERT INTO t VALUES ('test');-- 3. 查询列字符集信息
SELECT CHARSET(c) AS column_charset,COLLATION(c) AS column_collation
FROM t
LIMIT 1;-- 4. 查询表结构元数据
SELECT column_name,character_set_name,collation_name
FROM information_schema.columns
WHERE table_schema = DATABASE()AND table_name = 't';
输出
+----------------+-------------------+
| column_charset | column_collation  |
+----------------+-------------------+
| utf8mb4        | utf8mb4_unicode_ci|
+----------------+-------------------++-------------+--------------------+-------------------+
| COLUMN_NAME | CHARACTER_SET_NAME | COLLATION_NAME    |
+-------------+--------------------+-------------------+
| c           | utf8mb4            | utf8mb4_unicode_ci|
+-------------+--------------------+-------------------+mysql> CREATE TABLE t (->     c CHAR(10)-> ) character set utf8mb4 collate utf8mb4_unicode_ci;
Query OK, 0 rows affected (0.07 sec)mysql> SELECT->     CHARSET(c) AS column_charset,->     COLLATION(c) AS column_collation-> FROM->     t;
Empty set (0.00 sec)mysql>
mysql> SELECT->     column_name,->     character_set_name,->     collation_name-> FROM->     information_schema.columns-> WHERE->     table_schema = DATABASE()->     AND table_name = 't';
+-------------+--------------------+--------------------+
| COLUMN_NAME | CHARACTER_SET_NAME | COLLATION_NAME     |
+-------------+--------------------+--------------------+
| c           | utf8mb4            | utf8mb4_unicode_ci |
+-------------+--------------------+--------------------+
1 row in set (0.00 sec)mysql> alter table t-> convert to character set utf8mb4-> collate utf8mb4_unicode_ci;
Query OK, 0 rows affected (0.04 sec)
Records: 0  Duplicates: 0  Warnings: 0

关键区别说明
特性 utf8mb3 (旧版) utf8mb4 (推荐)
最大字符长度 3字节 4字节
支持emoji ❌ ✅
存储开销 较小 稍大
MySQL版本 所有版本 5.5.3+
为什么推荐utf8mb4?
完整支持所有Unicode字符(包括中文生僻字、emoji)

未来兼容性更好

MySQL 8.0默认使用utf8mb4

http://www.dtcms.com/wzjs/164246.html

相关文章:

  • 武汉 网站建设排名优化培训
  • 无锡网站制作优化推广西安网站seo排名优化
  • 怎么做简易网站福州百度代理
  • 可以做网站的服务器国外搜索网站排名
  • 山东省建设厅定额网站域名状态查询工具
  • 做微商城网站自媒体135的网站是多少
  • 网站的微信推广怎么做seo外包品牌
  • 做网站和做软件网站开发步骤
  • 图片设计用什么软件西安全网优化
  • 域名绑定空间后 一般多久能打开网站商丘 峰少 seo博客
  • 网站会过期吗少女长尾关键词挖掘
  • 商机加盟好项目营销网站优化推广
  • 徐州做网站的公司有几家福州seo网址优化公司
  • 园林景观 网站建设seo1域名查询
  • 做资讯网站盈利网站建设选亿企网络
  • 营销型网站建设定制网站建设在广州做seo找哪家公司
  • wordpress优化攻略上海企业优化
  • php心水主论坛网站制作网页设计软文写作经验是什么
  • 南京电商网站建设公司排名成都网络营销公司排名
  • 建立网站需要多少钱深圳排名seo公司
  • 广州手机网站开发报价谷歌seo和百度seo
  • 大学英语作文网站站长资源平台
  • vue做网站前端线上销售渠道有哪些
  • 24小时通过网站备案网站维护推广的方案
  • 网站建设的具体方法营销策划方案范文
  • 郑州金水区做网站公司百度宁波运营中心
  • 太原如何做百度的网站专业软文
  • 动态网站建设简介昆山网站建设
  • 网站开发工作网络营销工程师
  • 网站建设 要维护么关键词密度查询站长工具