MySQL基礎語法總結

2021-09-12 05:29:42 字數 2767 閱讀 4022

一.資料庫和表

建立資料庫:create database databasename

刪除資料庫: drop database databasename

顯示資料庫:show databases;

資料庫切換:use databasename;

建立表:

create table (,,);

刪除表:drop table tablename;

顯示表的結構:desc tablename;

二.約束和資料完整性

資料的完整性是指資料的可靠性和準確性.它分四類:

1.實體完整性.乙個表和它所代表的實體一致時,我們就說該錶具有實體完整性.實體的完整性強制表的識別符號列或主鍵的完整性(通過索引,唯一約束,主鍵約束或標識列屬性).

2.域完整性.域完整性是指列的輸入有效性.強制域的有效的方法有:限制型別(資料型別),格式(通過檢查約束和規則),可能值範圍(通過外來鍵約束,檢查約束,預設值定義,非空約束和規則).

3引用完整性.在刪除和輸入記錄時,引用完整性保持表之間已定義的關係.引用完整性確保鍵值在所有表中一致.這樣的一致辭性要求不能引用不存在的值.如果乙個鍵值更改了,那麼在整個資料庫中,對該鍵值的引用要進行一致的更改.

4.自定義完整性.使用者自己定義的業務規則.

三.建立約束及定義

1.建立非空約束.

create table employee ( name varchar(30) not null,phoneno varchar(11) not null);

2.指定預設值.

create table employee (name varchar(30) not null,phoneno varchar(11) default 'unknow the person's phone-number' not null);

3.主鍵約束

create table employee (name varchar(30) not null,phoneno varchar(11) default 'unknow the person's phone-number' not null,primary key(name));

//主鍵是用來標識唯一一行的.它可以是由一列組成,也可以是由多列組成.主鍵也必須是唯一的.主鍵會建立隱含的索引(唯一約束也會建立隱含的索引).

4.設定檢查約束

mysql不支援,只有在新行被新增,更改已有的行時才被計算

create table friend( age int ,constraint 檢查 age 檢查 (age between 10 and 100));

5.唯一約束

唯一約束是指給定列的所有的值必須是唯一的.

create table friend (name varchar(10) primary dey not null,phoneno varchar(17) unique);

6.使用序列(oracle中的物件,mysql不支援)

建立seqences: create sequence friendidseq increment by 1 start with 1000;

建立 table : create table friend (

friendid int primary key not null,

name varchar(50),

photono varchar(15) default '不曉得**號碼');

插入記錄 : intsert into friend(friendid,name, photono)

value (friendidseq.nextval,'wang ming','9090');

intsert into friend(friendid,name, photono)

value (friendidseq.nextval,'wang qing','9880');

7.使用自動編號字段(mysql)

create table friend (

friendid int auto_increment primary key not null,

name varchar(50),

phoneno varchar(15) default '不知道**號碼');

如果我們向表裡新增新的一行:

insert int friend (name,phoneno) values ('mike','222');

我們可能通過select last_insert_id();

oracle中,沒有自動編號,但是有觸發器來實現.

8.完整性和外部約束

oracle 之中外部約束.

create table phone (

phoneid int primary key not null,

friendid int,

phoneno varchar(20),

foreign key (friendid) references friend(friendid));

mysql之中外部約束:

create table phone (

phoneid int primary key not null,

friendid int,

phoneno varchar(20),

foreign key (friendid) references friend(friendid),

index idx1(friendid))

type=innodb;

不能刪除乙個其它表引用的表.如果要刪除,如果要刪除,首先必須去掉引用關係.

Mysql 基礎語法總結

建立表 create table ifnot exists tablename id intauto increment 自增 title varchar 100 primary key id 主鍵 刪除表 不需要表 drop table tablename 刪除表中全部資料 truncate ta...

Mysql 基礎語法總結

1.使用資料庫 1.刪除資料庫 drop database 1.建立表 新建乙個學生表。create table student sid int primary keyauto increment sname varchar 255 age int birthday datetime 2.crud ...

mysql基礎語法演示 mysql基礎語法

1 ddl 增刪改查 1 select 獲取資料 select from 表名 where 條件 2 update 更新資料 update 表名 set 欄位名 值,欄位名 值 where 條件 3 delete 刪除資料 delete from 表名 where 條件 4 insert into ...