<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 建庫、建表 **1、建庫:** (1)、create database 或者 create schema 兩種語法使用方法一致。 當創建的數據庫本身存在沒有寫if not exists子句,則會創建失敗報錯。 ~~~ mysql> create database test; Query OK, 1 row affected (0.00 sec) mysql> create database test; ERROR 1007 (HY000): Can't create database 'test'; database exists mysql> create database if not exists test; Query OK, 1 row affected, 1 warning (0.00 sec) ~~~ (2)、create_specification子句表名創建數據庫的屬性,并存儲在db.opt文件中。 character_set 默認的字符集 collate 默認的排序規則 也可以在數據目錄下創建mkdir一個目錄,mysql會識別為一個數據庫。 (3)、切換數據庫,use命令可以切換數據庫 ~~~ mysql> use test1; Database changed ~~~ (4)、查看當前的數據庫 第一種: ~~~ mysql> select database(); +------------+ | database() | +------------+ | test1 | +------------+ 1 row in set (0.00 sec) ~~~ 第二種:`mysql> status;` **2、建表** (1)、create table語句,默認是在本數據庫下創建,也可以指定數據庫。 ~~~ create table tbl_name(name varchar(10),age int); create table test.tbl_name(name varchar(10),age int); create table if not exists tbl_name(name varchar(10),age int); ~~~ if not exists 表示相同名字時,不創建該表也不報錯。 (2)、temporary 創建臨時表,僅對本鏈接可見,另外的數據庫連接不可見,當本鏈接斷開時,臨時表也自動被drop掉。 ~~~ create temporary table test2(sid int,name varcahr(10)); insert into test2 values(1,'a'); select * from test2; ~~~ (3)、like關鍵詞表示基于另一個表的定義復制一個新的空表,空表上的字段屬性和原表相同。只復制結構不會復制內容。 `create table students_copy like students;` (4)、create table ......as select 語句表示創建表的同時將select查詢結果插入到新表中,但是索引和主外鍵不會同步過來。 `create table students_copy2 as select * from students;` **ignore和replace表示在插入數據的過程中如果新表中碰到違反唯一約束的情況下,ignore會不插入,replace會替換原有數據。 默認情況下兩個關鍵詞都不寫碰到違反的情況會報錯。** `INSERT IGNORE INTO `table_name` (`email`, `phone`, `user_id`) VALUES ('test9@163.com', '99999', '9999');` (5)、字段說明 data_type 表示定義的字段類型 not null 表示該字段需要明確值或者要有默認值,否則報錯 null 表示允許字段為空 ~~~ mysql> create table students(sid int not null,sname varchar(10) null); Query OK, 0 rows affected (0.01 sec) mysql> insert into students values(1,'a'); Query OK, 1 row affected (0.00 sec) mysql> insert into students values(1); ERROR 1136 (21S01): Column count doesn't match value count at row 1 mysql> insert into students (sid)values(1); Query OK, 1 row affected (0.01 sec) mysql> select * from students; +-----+-------+ | sid | sname | +-----+-------+ | 1 | a | | 1 | NULL | +-----+-------+ 2 rows in set (0.00 sec) ~~~ default 表示設置字段的默認值 ~~~ mysql> create table students3(sid int,sname varchar(10),gender int default 2); mysql> insert into students3 values(1,'a',default); mysql> insert into students3(sid,sname)values(1,'abv'); mysql> select * from students3; +------+-------+--------+ | sid | sname | gender | +------+-------+--------+ | 1 | a | 2 | | 1 | abv | 2 | +------+-------+--------+ 2 rows in set (0.00 sec) ~~~ auto_increment 表示字段為整數或者浮點數類型value+1遞增,value為當前表中該字段最大的值,默認為1開始遞增。一個表中只能有一個自增字段,且該字段必須有key屬性,不能含有default屬性,且插入負值會被當成是很大的正數。 ~~~ mysql> create table students4(sid int primary key auto_increment,sname varchar(10)); mysql> insert into students4(sname)values('dadf'); mysql> insert into students4 values(3,'eee'); mysql> insert into students4 (sname) values('ert'); mysql> select * from students4; +-----+-------+ | sid | sname | +-----+-------+ | 1 | dadf | | 3 | eee | | 4 | ert | +-----+-------+ 3 rows in set (0.00 sec) ~~~ 報錯信息: ~~~ mysql> create table students5(sid int auto_increment,sname varchar(10)); ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key ~~~ constraint 表示為主鍵、唯一鍵、外鍵等約束條件命名,如果沒有命名則mysql會默認給一個。 **primary key 表示該字段為主鍵,主鍵字段必須是唯一的,必須非空。一個表中只能有一個主鍵,主鍵可以包含一個或多個字段。同時也在此key上建立了一個主鍵索引; unique表示唯一屬性字段,且允許包含多個null值,同時也在這個key上建立了一個唯一索引;。 (每個表可以有多個 UNIQUE 約束,但是每個表只能有一個 PRIMARY KEY 約束) foreign key 表示該字段為外鍵字段。同時也在這個key上建立了一個index;** **key/index 表示索引字段 index是數據庫的物理結構,它只是輔助查詢的,它創建時會在另外的表空間(mysql中的innodb表空間)以一個類似目錄的結構存儲。索引要分類的話,分為前綴索引、全文本索引等; key 是數據庫的物理結構,它包含兩層意義和作用,一是約束(偏重于約束和規范數據庫的結構完整性),二是索引(輔助查詢用的)。 因此,索引只是索引,它不會去約束索引的字段的行為(那是key要做的事情)** ~~~ mysql> create table students6( -> sid int not null primary key auto_increment, -> sname varchar(10) unique,gener int, -> constraint for_1 foreign key(gener) references gener(gener_id)); Query OK, 0 rows affected (0.04 sec) ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看