溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql怎么創建數據表

發布時間:2021-09-17 20:38:22 來源:億速云 閱讀:417 作者:chen 欄目:MySQL數據庫

這篇文章主要介紹“Mysql怎么創建數據表”,在日常操作中,相信很多人在Mysql怎么創建數據表問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Mysql怎么創建數據表”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

C:\Users\admin>mysql -h localhost -u root -pmysql

mysql: [Warning] Using a password on the command line interface can be insecure.

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 4

Server version: 5.7.14 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, 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> show databases;

+--------------------+

| Database           |

+--------------------+

| information_schema |

| mydata             |

| mysql              |

| performance_schema |

| sys                |

| test               |

+--------------------+

6 rows in set (0.00 sec)

mysql> use mydata

Database changed

mysql> create table mydata1(

    -> id int,

    -> name varchar(20),

    -> sex boolean

    -> );

Query OK, 0 rows affected (0.36 sec)

mysql> desc mydata1;

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id    | int(11)     | YES  |     | NULL    |       |

| name  | varchar(20) | YES  |     | NULL    |       |

| sex   | tinyint(1)  | YES  |     | NULL    |       |

+-------+-------------+------+-----+---------+-------+

3 rows in set (0.02 sec)

mysql> show tables;

+------------------+

| Tables_in_mydata |

+------------------+

| mydata1          |

+------------------+

1 row in set (0.00 sec)

5.1完整性約束條件

Primary key

主鍵,標識唯一

Foreign key

標識該屬性為該表的外鍵,聯系表的主鍵

Not null

屬性不能為空

Unique

屬性的值是唯一的

Auto_increment

值自動增加,mysql的sql語句的特色

Default

列設置默認值

5.2 主鍵

單字段主鍵和多字段主鍵

mysql> create table mydata2(

    -> id int primary key,       #單一字段主鍵

    -> name varchar(20),

    -> sex boolean);

Query OK, 0 rows affected (0.23 sec)

mysql> show tables;

+------------------+

| Tables_in_mydata |

+------------------+

| mydata1          |

| mydata2          |

+------------------+

2 rows in set (0.00 sec)

mysql> desc mydata2;

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id    | int(11)     | NO   | PRI | NULL    |       |

| name  | varchar(20) | YES  |     | NULL    |       |

| sex   | tinyint(1)  | YES  |     | NULL    |       |

+-------+-------------+------+-----+---------+-------+

3 rows in set (0.00 sec)

mysql> alter table mydata2 drop primary key;

Query OK, 0 rows affected (0.68 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> desc mydata2;

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id    | int(11)     | NO   |     | NULL    |       |

| name  | varchar(20) | YES  |     | NULL    |       |

| sex   | tinyint(1)  | YES  |     | NULL    |       |

+-------+-------------+------+-----+---------+-------+

3 rows in set (0.00 sec)

mysql> alter table mydata2 add primary key(id,name);  #設置多字段主鍵

Query OK, 0 rows affected (0.49 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> desc mydata2;

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id    | int(11)     | NO   | PRI | NULL    |       |

| name  | varchar(20) | NO   | PRI | NULL    |       |

| sex   | tinyint(1)  | YES  |     | NULL    |       |

+-------+-------------+------+-----+---------+-------+

3 rows in set (0.00 sec)

也可以在create table 定義中定義primary key

mysql> create table mydata3(

    -> id int,

    -> name varchar(20),

    -> sex boolean,

    -> primary key(id,name)

    -> );

Query OK, 0 rows affected (0.24 sec)

mysql> desc mydata3;

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id    | int(11)     | NO   | PRI | NULL    |       |

| name  | varchar(20) | NO   | PRI | NULL    |       |

| sex   | tinyint(1)  | YES  |     | NULL    |       |

+-------+-------------+------+-----+---------+-------+

3 rows in set (0.00 sec)

5.3 外鍵 foreign key

mysql> create table mydata4(

    -> id int primary key,

    -> name varchar(30),

    -> sex boolean,

    -> constraint my_fk foreign key(id) references mydata3(id)

    -> );

Query OK, 0 rows affected (0.26 sec)

mysql> desc mydata4;

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id    | int(11)     | NO   | PRI | NULL    |       |

| name  | varchar(30) | YES  |     | NULL    |       |

| sex   | tinyint(1)  | YES  |     | NULL    |       |

+-------+-------------+------+-----+---------+-------+

3 rows in set (0.00 sec)

5.4 not null 非空

mysql> create table mydata5(

    -> id int primary key,

    -> name varchar(20) not null);

Query OK, 0 rows affected (0.28 sec)

mysql> desc mydata5;

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id    | int(11)     | NO   | PRI | NULL    |       |

| name  | varchar(20) | NO   |     | NULL    |       |

+-------+-------------+------+-----+---------+-------+

2 rows in set (0.00 sec)

5.5 unique 唯一性

mysql> create table mydata6(

    -> id int primary key,

    -> name varchar(20) unique);

Query OK, 0 rows affected (0.35 sec)

mysql> desc mydata6;

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id    | int(11)     | NO   | PRI | NULL    |       |

| name  | varchar(20) | YES  | UNI | NULL    |       |

+-------+-------------+------+-----+---------+-------+

2 rows in set (0.00 sec)

5.6 auto_increment

必須為主鍵的一部分

mysql> create table mydata7(

    -> id int primary key auto_increment,

    -> name varchar(20))

    -> ;

Query OK, 0 rows affected (0.24 sec)

mysql> desc mydata7;

+-------+-------------+------+-----+---------+----------------+

| Field | Type        | Null | Key | Default | Extra          |

+-------+-------------+------+-----+---------+----------------+

| id    | int(11)     | NO   | PRI | NULL    | auto_increment |

| name  | varchar(20) | YES  |     | NULL    |                |

+-------+-------------+------+-----+---------+----------------+

2 rows in set (0.00 sec)

5.7 默認值

mysql> create table mydata8(

    -> id int primary key auto_increment,

    -> name varchar(20) unique,

    -> address varchar(100) not null,

    -> city varchar(20) default 'suzhou',

    -> socre float default 0);

Query OK, 0 rows affected (0.35 sec)

mysql> desc mydata8;

+---------+--------------+------+-----+---------+----------------+

| Field   | Type         | Null | Key | Default | Extra          |

+---------+--------------+------+-----+---------+----------------+

| id      | int(11)      | NO   | PRI | NULL    | auto_increment |

| name    | varchar(20)  | YES  | UNI | NULL    |                |

| address | varchar(100) | NO   |     | NULL    |                |

| city    | varchar(20)  | YES  |     | suzhou  |                |

| socre   | float        | YES  |     | 0       |                |

+---------+--------------+------+-----+---------+----------------+

5 rows in set (0.04 sec)

5.8 查看表結構

mysql> show create table mydata1 \G;

*************************** 1. row ***************************

       Table: mydata1

Create Table: CREATE TABLE `mydata1` (

  `id` int(11) DEFAULT NULL,

  `name` varchar(20) DEFAULT NULL,

  `sex` tinyint(1) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=latin1

1 row in set (0.00 sec)

ERROR:

No query specified

mysql> desc mydata1;

+-------+-------------+------+-----+---------+-------+

| Field | Type        | Null | Key | Default | Extra |

+-------+-------------+------+-----+---------+-------+

| id    | int(11)     | YES  |     | NULL    |       |

| name  | varchar(20) | YES  |     | NULL    |       |

| sex   | tinyint(1)  | YES  |     | NULL    |       |

+-------+-------------+------+-----+---------+-------+

3 rows in set (0.00 sec)

5.9 修改表結構

mysql> alter table mydata1 rename to mydata;   #修改表名

Query OK, 0 rows affected (0.23 sec)

mysql> alter table mydata1 modify sex varchar(1);   #修改列屬性

Query OK, 0 rows affected (0.77 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table mydata1 change city address varchar(20);

mysql> alter table mydata1 change sex city int;    #修改列名和屬性

Query OK, 0 rows affected (0.94 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table mydata1 add city int;         #添加列名

Query OK, 0 rows affected (0.53 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table mydata1 add sal int after address;  #在address欄位后面加列

Query OK, 0 rows affected (0.35 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table mydata1 add uid int first;    #加列為首列

Query OK, 0 rows affected (0.45 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table mydata1 drop city;        #刪除列

Query OK, 0 rows affected (0.50 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table mydata1 modify sal int after name;   #修改列的位置

Query OK, 0 rows affected (0.53 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> alter table mydata1 modify id int first;   #修改為首列

Query OK, 0 rows affected (0.54 sec)

Records: 0  Duplicates: 0  Warnings: 0

CHANGE 對列進行重命名或更改列的類型,需給定舊的列名稱和新的列名稱、當前的類型 MODIFY 可以改變列的類型,此時不需要重命名(不需給定新的列名稱)

mysql> alter table mydata1 engine=myisam;    #修改表的存儲引擎

Query OK, 0 rows affected (1.47 sec)

Records: 0  Duplicates: 0  Warnings: 0

mysql> drop table mydata8;                 #刪除表

Query OK, 0 rows affected (0.22 sec)

到此,關于“Mysql怎么創建數據表”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女