以前的數據永久保存都是保存在文件中,而一個文件只能保存在一臺機器上,且程序的全部組件都運行在同一臺機器上,這種方式存在如下問題:html
一、程序全部的組件不可能運行在同一臺機器上python
由於這臺機器一旦掛掉則意味着整個軟件的崩潰,而且程序的執行效率依賴於承載它的硬件,而一臺機器機器的性能總歸是有限的, 受限於目前的硬件水平,就一臺機器的性能垂直進行擴展是有極限的。 因而咱們只能經過水平擴展來加強咱們系統的總體性能,這就須要咱們將程序的各個組件分佈於多臺機器去執行。
mysql
二、數據安全問題linux
根據1的描述,咱們將程序的各個組件分佈到各臺機器,但需知各組件仍然是一個總體,言外之意,全部組件的數據仍是要共享的。 但每臺機器上的組件都只能操做本機的文件,這就致使了數據必然不一致。 因而咱們想到了將數據與應用程序分離:把文件存放於一臺機器,而後將多臺機器經過網絡去訪問這臺機器上的文件(用socket實現), 即共享這臺機器上的文件,共享則意味着競爭,會發生數據不安全,須要加鎖處理。
程序員
三、併發redis
根據2的描述,咱們必須寫一個socket服務端來管理這臺機器(數據庫服務器)上的文件,而後寫一個socket客戶端,完成以下功能:sql
1.遠程鏈接(支持併發) 2.打開文件 3.讀寫(加鎖) 4.關閉文件
mongodb
總結:數據庫
咱們在編寫任何程序以前,都須要事先寫好基於網絡操做一臺主機上文件的程序(socket服務端與客戶端程序),因而有人將此類程序寫成一個專門的處理軟件,這就是mysql等數據庫管理軟件的由來,但mysql解決的不只僅是數據共享的問題,還有查詢效率,安全性等一系列問題,總之,把程序員從數據管理中解脫出來,專一於本身的程序邏輯的編寫。
macos
描述事物的符號記錄稱爲數據。描述事物的符號既能夠是數字,也能夠是文字、圖片,圖像、聲音、語言等,數據由多種表現形式,它們均可以通過數字化後存入計算機。
在計算機中描述一個事物,就須要抽取這一事物的典型特徵,組成一條記錄
數據庫即存放數據的倉庫,只不過這個倉庫是在計算機存儲設備上,並且數據是按必定的格式存放的
過去人們將數據存放在文件櫃裏,如今數據量龐大,已經再也不適用
數據庫是長期存放在計算機內、有組織、可共享的數據便可。數據庫中的數據按必定的數據模型組織、描述和儲存,具備較小的冗餘度、較高的數據獨立性和易擴展性,並可爲各類用戶共享。
數據庫管理系統——一個系統軟件,做用:一、解決科學地組織和存儲數據;二、用來高效獲取和維護數據
如MySQL、Oracle、SQLite、Access、MS SQL Server
mysql主要用於大型門戶,例如搜狗、新浪等,它主要的優點就是開放源代碼,由於開放源代碼這個數據庫是免費的,他如今是甲骨文公司的產品。
oracle主要用於銀行、鐵路、飛機場等。該數據庫功能強大,軟件費用高。也是甲骨文公司的產品。
sql server是微軟公司的產品,主要應用於大中型企業,如聯想、方正等。
數據庫服務器:運行數據庫管理軟件的計算機
數據庫管理系統:一個軟件
表:即文件,用來存放多行內容/多條記錄
數據庫:文件夾,用來組織文件/表
記錄:事物一系列典型的特徵
數據:描述事物特徵的符號
MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬於 Oracle 旗下公司。MySQL 最流行的關係型數據庫管理系統,在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關係數據庫管理系統) 應用軟件之一。
myql就是一個基於socket編寫的C/S架構的軟件。
客戶端軟件
mysql自帶:mysql命令,mysqldump命令等
python模塊:如pymysql
一類是關係型數據庫:如sqllite,db2,oracle,access,sql server,MySQL,主要特徵是:須要有表結構,sql語句通用。
一類是非關係型數據庫:mongodb,redis,memcache,主要特徵:是key-value存儲的,沒有表結構。
Windows版本
#一、下載:MySQL Community Server 5.7.16 http://dev.mysql.com/downloads/mysql/ #二、解壓 若是想要讓MySQL安裝在指定目錄,那麼就將解壓後的文件夾移動到指定目錄,如:C:\mysql-5.7.16-winx64 #三、添加環境變量 【右鍵計算機】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變量】--》【在第二個內容框中找到 變量名爲Path 的一行,雙擊】 --> 【將MySQL的bin目錄路徑追加到變值值中,用 ; 分割】 #四、初始化 mysqld --initialize-insecure #五、啓動MySQL服務 mysqld # 啓動MySQL服務 #六、啓動MySQL客戶端並鏈接MySQL服務 mysql -u root -p # 鏈接MySQL服務器
上一步解決了一些問題,但不夠完全,由於在執行【mysqd】啓動MySQL服務器時,當前終端會被hang住,那麼作一下設置便可解決此問題: 注意:--install前,必須用mysql啓動命令的絕對路徑 # 製做MySQL的Windows服務,在終端執行此命令: "c:\mysql-5.7.16-winx64\bin\mysqld" --install # 移除MySQL的Windows服務,在終端執行此命令: "c:\mysql-5.7.16-winx64\bin\mysqld" --remove 註冊成服務以後,之後再啓動和關閉MySQL服務時,僅需執行以下命令: # 啓動MySQL服務 net start mysql # 關閉MySQL服務 net stop mysql
Linux版本
#二進制rpm包安裝 yum -y install mysql-server mysql # centOS7下安裝方法以下:(做者避免mysql被閉源) yum -y install mariadb-server mariadb
源碼安裝:
1.解壓tar包 cd /software tar -xzvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz mv mysql-5.6.21-linux-glibc2.5-x86_64 mysql-5.6.21 2.添加用戶與組 groupadd mysql useradd -r -g mysql mysql chown -R mysql:mysql mysql-5.6.21 3.安裝數據庫 su mysql cd mysql-5.6.21/scripts ./mysql_install_db --user=mysql --basedir=/software/mysql-5.6.21 --datadir=/software/mysql-5.6.21/data 4.配置文件 cd /software/mysql-5.6.21/support-files cp my-default.cnf /etc/my.cnf cp mysql.server /etc/init.d/mysql vim /etc/init.d/mysql #若mysql的安裝目錄是/usr/local/mysql,則可省略此步 修改文件中的兩個變動值 basedir=/software/mysql-5.6.21 datadir=/software/mysql-5.6.21/data 5.配置環境變量 vim /etc/profile export MYSQL_HOME="/software/mysql-5.6.21" export PATH="$PATH:$MYSQL_HOME/bin" source /etc/profile 6.添加自啓動服務 chkconfig --add mysql chkconfig mysql on 7.啓動mysql service mysql start 8.登陸mysql及改密碼與配置遠程訪問 mysqladmin -u root password 'your_password' #修改root用戶密碼 mysql -u root -p #登陸mysql,須要輸入密碼 mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_password' WITH GRANT OPTION; #容許root用戶遠程訪問 mysql>FLUSH PRIVILEGES; #刷新權限
1. 解壓 tar zxvf mariadb-5.5.31-linux-x86_64.tar.gz mv mariadb-5.5.31-linux-x86_64 /usr/local/mysql //必需這樣,不少腳本或可執行程序都會直接訪問這個目錄 2. 權限 groupadd mysql //增長 mysql 屬組 useradd -g mysql mysql //增長 mysql 用戶 並歸於mysql 屬組 chown mysql:mysql -Rf /usr/local/mysql // 設置 mysql 目錄的用戶及用戶組歸屬。 chmod +x -Rf /usr/local/mysql //賜予可執行權限 3. 拷貝配置文件 cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf //複製默認mysql配置 文件到/etc目錄 4. 初始化 /usr/local/mysql/scripts/mysql_install_db --user=mysql //初始化數據庫 cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql //複製mysql服務程序 到系統目錄 chkconfig mysql on //添加mysql 至系統服務並設置爲開機啓動 service mysql start //啓動mysql 5. 環境變量配置 vim /etc/profile //編輯profile,將mysql的可執行路徑加入系統PATH export PATH=/usr/local/mysql/bin:$PATH source /etc/profile //使PATH生效。 6. 帳號密碼 mysqladmin -u root password 'yourpassword' //設定root帳號及密碼 mysql -u root -p //使用root用戶登陸mysql use mysql //切換至mysql數據庫。 select user,host,password from user; //查看系統權限 drop user ''@'localhost'; //刪除不安全的帳戶 drop user root@'::1'; drop user root@127.0.0.1; select user,host,password from user; //再次查看系統權限,確保不安全的帳戶均被刪除。 flush privileges; //刷新權限 7. 一些必要的初始配置 1)修改字符集爲UTF8 vi /etc/my.cnf 在[client]下面添加 default-character-set = utf8 在[mysqld]下面添加 character_set_server = utf8 2)增長錯誤日誌 vi /etc/my.cnf 在[mysqld]下面添加: log-error = /usr/local/mysql/log/error.log general-log-file = /usr/local/mysql/log/mysql.log 3) 設置爲不區分大小寫,linux下默認會區分大小寫。 vi /etc/my.cnf 在[mysqld]下面添加: lower_case_table_name=1 修改完重啓:#service mysql restart
MAC版本
下載https://dev.mysql.com/downloads/mysql/5.7.html#downloads安裝包。雙擊安裝、下一步後安裝完成。
在/etc/profile文件內添加環境變量:PATH= /usr/local/mysql/bin:$PATH 而後在最後一行添加export PATH,保證全局生效。
$PATH表明取系統自帶的環境變量的值。
退出文件編輯後,執行source /etc/profile 當即生效配置文件修改。
啓動mysql服務:在系統偏好設置下找到mysql,點擊啓動mysql服務。
MAC版本
啓動MySQL後,必須先執行安全配置嚮導mysql_secure_installation。
根據安裝時系統提示的密碼,設置新密碼。
須要輸入判斷的語句:
Enter current password for root (enter for none):<–初次運行直接回車
Set root password? [Y/n] <– 是否設置root用戶密碼,輸入y並回車或直接回車
Remove anonymous users? [Y/n] <– 是否刪除匿名用戶,生產環境建議刪除,因此直接回車
Disallow root login remotely? [Y/n] <–是否禁止root遠程登陸,根據本身的需求選擇Y/n並回車,建議禁止
Remove test database and access to it? [Y/n] <– 是否刪除test數據庫,直接回車
Reload privilege tables now? [Y/n] <– 是否從新加載權限表,直接回車
通用密碼修改
初始狀態下,管理員root,密碼爲空,默認只容許從本機登陸localhost 設置密碼 [root@egon ~]# mysqladmin -uroot password "123" 設置初始密碼 因爲原密碼爲空,所以-p能夠不用 [root@egon ~]# mysqladmin -uroot -p"123" password "456" 修改mysql密碼,由於已經有密碼了,因此必須輸入原密碼才能設置新密碼 命令格式: [root@egon ~]# mysql -h172.31.0.2 -uroot -p456 [root@egon ~]# mysql -uroot -p [root@egon ~]# mysql 以root用戶登陸本機,密碼爲空
密碼破解
首先,保證mysql服務在中止狀態。執行sudo mysqld_safe --skip-grant-tables命令
MacBook-Pro:local hqs$ sudo mysqld_safe --skip-grant-tables Password: Logging to '/usr/local/mysql/data/MacBook-Pro.local.err'. 2018-05-08T12:48:38.6NZ mysqld_safe Starting mysqld daemon with databases from /usr/local/mysql/data
而後,打開一個新的終端,執行mysql -uroot登陸數據庫
接着,修改數據庫密碼,這個地方須要注意5.7版本mysql數據庫下已經沒有password這個字段了,password字段改爲了authentication_string
mysql> update mysql.user set password=password("1234") where user="root" and host="localhost"; # 這個是5.6版本通用寫法 ERROR 1054 (42S22): Unknown column 'password' in 'field list' mysql> update mysql.user set authentication_string=password('1234') where user='root' and host="localhost"; # 5.7版本後數據庫下已經沒有password這個字段了 Query OK, 1 row affected, 1 warning (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 1 mysql> flush privileges; Query OK, 0 rows affected (0.01 sec)
隨後,殺死mysql進程來關閉mysql數據庫。
huangqiushideMacBook-Pro:~ hqs$ ps aux| grep mysql hqs 8982 0.0 0.0 4286184 908 s001 S+ 9:03下午 0:00.01 grep mysql _mysql 8810 0.0 0.2 4686868 19516 s000 S+ 8:48下午 0:00.59 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --skip-grant-tables --log-error=huangqiushideMacBook-Pro.local.err --pid-file=huangqiushideMacBook-Pro.local.pid root 8740 0.0 0.0 4295984 744 s000 S+ 8:48下午 0:00.02 /bin/sh /usr/local/mysql/bin/mysqld_safe --skip-grant-tables root 8738 0.0 0.1 4330940 5536 s000 S+ 8:48下午 0:00.05 sudo mysqld_safe --skip-grant-tables huangqiushideMacBook-Pro:~ hqs$ kill -9 8810 -bash: kill: (8810) - Operation not permitted huangqiushideMacBook-Pro:~ hqs$ kill -9 8740 -bash: kill: (8740) - Operation not permitted huangqiushideMacBook-Pro:~ hqs$ sudo kill -9 8740 Password: huangqiushideMacBook-Pro:~ hqs$ sudo kill -9 8810 huangqiushideMacBook-Pro:~ hqs$ sudo kill -9 8738 kill: 8738: No such process huangqiushideMacBook-Pro:~ hqs$ ps aux| grep mysql hqs 9006 0.0 0.0 4267752 864 s001 S+ 9:04下午 0:00.00 grep mysql
最後,在系統偏好設置—MySQL,正常啓動MySQL服務
huangqiushideMacBook-Pro:~ hqs$ mysql -uroot -p1234 mysql: [Warning] Using a password on the command line interface can be insecure. mysql: Unknown OS character set ''. mysql: Switching to the default character set 'latin1'. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 Server version: 5.7.22 MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
一、MAC須要先切換到管理員用戶,再建立配置文件/etc/my.cnf。寫入一下內容(下面那一組):
#mysql5.5如下版本 [mysqld] default-character-set=utf8 [client] default-character-set=utf8 [mysql] default-character-set=utf8 #mysql5.5以上:修改方式有所改動 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci [client] default-character-set=utf8 [mysql] default-character-set=utf8
二、修改完成後,在系統偏好設置中啓動mysql服務,啓動完成後mysql -uroot 登錄數據庫,執行"\s"進行編碼驗證
mysql> \s -------------- mysql Ver 14.14 Distrib 5.7.22, for macos10.13 (x86_64) using EditLine wrapper Connection id: 20 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.7.22 MySQL Community Server (GPL) Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: utf8 Db characterset: utf8 Client characterset: utf8 Conn. characterset: utf8 UNIX socket: /tmp/mysql.sock Uptime: 1 min 1 sec Threads: 1 Questions: 6 Slow queries: 0 Opens: 105 Flush tables: 1 Open tables: 98 Queries per second avg: 0.098 -------------- mysql>
有了mysql這個數據庫軟件,就能夠將程序員從對數據的管理中解脫出來,專一於對程序邏輯的編寫。
mysql服務端軟件即mysqld幫咱們管理好文件夾以及文件,前提是做爲使用者的咱們,須要下載mysql的客戶端,或者其餘模塊來鏈接到mysqld,而後使用mysql軟件規定的語法格式去提交本身命令,實現對文件夾或文件的管理。該語法即sql(Structured Query Language 即結構化查詢語言)。
SQL語言主要用於存取數據、查詢數據、更新數據和管理關係數據庫系統,SQL語言由IBM開發。SQL語言分爲3種類型: #一、DDL語句 數據庫定義語言: 數據庫、表、視圖、索引、存儲過程,例如CREATE DROP ALTER #二、DML語句 數據庫操縱語言: 插入數據INSERT、刪除數據DELETE、更新數據UPDATE、查詢數據SELECT #三、DCL語句 數據庫控制語言: 例如控制用戶的訪問權限GRANT、REVOKE
增:create database db1 charset utf8; # charset指定數據庫字符編碼
查:show databases; # 查看全部數據庫(每每會有一些默認庫)
information_schema: 虛擬庫,不佔用磁盤空間,存儲的是數據庫啓動後的一些參數,如用戶表信息、列信息、權限信息、字符信息等 performance_schema: MySQL 5.5開始新增一個數據庫:主要用於收集數據庫服務器性能參數,記錄處理查詢請求時發生的各類事件、鎖等現象 mysql: 受權庫,主要存儲系統用戶的權限信息 test: MySQL數據庫系統自動建立的測試數據庫
show create database db1; # 查看數據庫,在文件系統/usr/local/mysql/data目錄下可找到剛剛創的數據庫
mysql> create database db1 charset utf8; Query OK, 1 row affected (0.03 sec) mysql> show create database db1; +----------+--------------------------------------------------------------+ | Database | Create Database | +----------+--------------------------------------------------------------+ | db1 | CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET utf8 */ | +----------+--------------------------------------------------------------+ 1 row in set (0.00 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | db1 | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.01 sec)
改:alter database db1 charset gbk; # 改數據庫字符編碼
mysql> alter database db1 charset gbk; Query OK, 1 row affected (0.01 sec) mysql> show create database db1; +----------+-------------------------------------------------------------+ | Database | Create Database | +----------+-------------------------------------------------------------+ | db1 | CREATE DATABASE `db1` /*!40100 DEFAULT CHARACTER SET gbk */ | +----------+-------------------------------------------------------------+ 1 row in set (0.00 sec)
刪:drop database db1; # 刪除數據庫,文件系統/usr/local/mysql/data目錄下db1目錄被刪除
mysql> drop database db1; Query OK, 0 rows affected (0.03 sec) mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec)
切換文件夾:use db1
mysql> create database db1 charset utf8; Query OK, 1 row affected (0.00 sec) mysql> use db1 Database changed
mysql> use db1 Database changed mysql> select database(); +------------+ | database() | +------------+ | db1 | +------------+ 1 row in set (0.00 sec)
增:create table t1(id int, name char) ; # 表須要設置字段和字段的字符類型
執行完增操做後,能夠在/usr/local/mysql/data/db1下看到多出來的 t1.frm t1.ibd這兩個文件。t1.frm存放表結構,t1.ibd存放表數據。
查:show create table t1; # 查看錶
mysql> create table t1(id int, name char); Query OK, 0 rows affected (0.04 sec) mysql> mysql> show create table t1; +-------+---------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+---------------------------------------------------------------------------------------------------------------------+ | t1 | CREATE TABLE `t1` ( `id` int(11) DEFAULT NULL, `name` char(1) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +-------+---------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
show tables; # 查看當前庫下全部的表
mysql> show tables; +---------------+ | Tables_in_db1 | +---------------+ | t1 | +---------------+ 1 row in set (0.00 sec)
desc t1; # 查看錶數據
mysql> desc t1; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | char(6) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
改:改表的字段
alter table t1 modify name char(6); # 默認char寬度爲1,如今修改成6
mysql> alter table t1 modify name char(6); Query OK, 0 rows affected (0.04 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> show create table t1; +-------+------------------------------------------------------------------------------+ | Table | Create Table | +-------+------------------------------------------------------------------------------+ | t1 | CREATE TABLE `t1` ( `id` int(11) DEFAULT NULL, `name` char(6) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +-------+-------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
alter table t1 change name NAME char(7); # 字段名改成大寫,並修改字段類型
mysql> alter table t1 change name NAME char(7); Query OK, 0 rows affected (0.03 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> desc t1; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | NAME | char(7) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
刪:刪除表
drop table t1;
mysql> drop table t1; Query OK, 0 rows affected (0.00 sec) mysql> desc t1; ERROR 1146 (42S02): Table 'db1.t1' doesn't exist mysql> show tables; Empty set (0.00 sec)
增:插入
insert t1(id, name) values(1, 'egon1'), (2, 'egon2'), (3, 'egon3');
查:select id,name from t1; # 這是切到庫下的狀況
select * from db1.t1; # db1.t1指定db1庫下的t1表
mysql> create table t1(id int, name char(6)); Query OK, 0 rows affected (0.01 sec) mysql> insert t1(id, name) values(1, 'egon1'), (2, 'egon2'), (3, 'egon3'); Query OK, 3 rows affected (0.01 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> select * from db1.t1; +------+-------+ | id | name | +------+-------+ | 1 | egon1 | | 2 | egon2 | | 3 | egon3 | +------+-------+ 3 rows in set (0.00 sec)
改:改表內的記錄
update db1.t1 set name="SB";
mysql> update db1.t1 set name="SB"; Query OK, 3 rows affected (0.01 sec) Rows matched: 3 Changed: 3 Warnings: 0 mysql> select * from db1.t1; +------+------+ | id | name | +------+------+ | 1 | SB | | 2 | SB | | 3 | SB | +------+------+ 3 rows in set (0.00 sec)
update db1.t1 set name='ALEX' where id=2;
mysql> update db1.t1 set name='ALEX' where id=2; Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> select * from db1.t1; +------+------+ | id | name | +------+------+ | 1 | SB | | 2 | ALEX | | 3 | SB | +------+------+ 3 rows in set (0.01 sec)
刪:刪除表內記錄
delete from t1 where id=2; # 刪除指定記錄
delete from t1; # 刪除報表內全部記錄
mysql> delete from t1 where id=2; Query OK, 1 row affected (0.00 sec) mysql> select * from db1.t1; +------+------+ | id | name | +------+------+ | 1 | SB | | 3 | SB | +------+------+ 2 rows in set (0.00 sec) mysql> delete from t1; Query OK, 2 rows affected (0.00 sec) mysql> select * from db1.t1; Empty set (0.00 sec)
清空表的方法總結:
delete from t1; # 若是有自增id,新增的數據,仍然是以刪除前的最後同樣做爲起始
truncate table t1; # 數據量大,刪除速度比上一條快,且直接從零開始
auto_increment表示:自增
primary key 表示:約束(不能重複且不能爲空);加速查找