mysql單表

来源:http://www.cnblogs.com/caigq/archive/2017/06/29/7049188.html
-Advertisement-
Play Games

資料庫的創建和刪除 黑視窗啟動資料庫服務:net start mysql 關閉資料庫服務:net stop mysql 創建資料庫使用關鍵字create database格式: create database 資料庫名; create database 資料庫名 character set 字元集; ...


資料庫的創建和刪除
  黑視窗啟動資料庫服務:net start mysql
  關閉資料庫服務:net stop mysql

創建資料庫
使用關鍵字create database
格式:
create database 資料庫名;
create database 資料庫名 character set 字元集;

查看mysql中所有的資料庫
show databases;

查看某個資料庫的定義信息
show create database 資料庫名 例:show create database mybase;

切換資料庫
use 資料庫名 例:use test;

查看正在使用的資料庫
select database;

刪除資料庫
drop database 資料庫名稱 例:drop database test;

創建資料庫中的表.

使用關鍵字create table
[]在資料庫中是可選的意思,可以有,可以沒有
格式:
create table 表名(
  欄位名 數據類型[長度] [約束],
  欄位名 數據類型[長度] [約束],
  ......
  欄位名 數據類型[長度] [約束](最後一個不能有逗號)
);
例:創建商品分類表category
create table category(
  cid int primary key,
  cname varchar(100)
);

查看當前資料庫中所有的表
show tables;

查看表結構
desc 表名 例:desc category;


刪除表
格式:drop table 表名
例:drop table category;

修改表添加列
alter table 表名 add 列名 類型[長度] [約束];
例:alter table category add name int ;

修改表修改列的類型長度及約束
alter table 表名 modify 列名 類型[長度] [約束];
註意:如果有數據 ,必須註意數據類型varchar-->容易有錯誤數據
例:alter table category modify description int;
alter table category modify description varchar(20) not null;


修改列名以及數據類型和約束
alter tble 表名 drop 列名;
註意:如果列中有數據 數據就會一起刪除了 需謹慎
例:alter table category drop descr;


修改表名
rename table 表名 to 新表名
例:rename table category to student;

修改表的字元集
alter table 表名 character set 字元集
註意:不建議執行 有可能會產生亂碼
例:alter table category character set gbk;


往資料庫表中插入數據
使用關鍵字insert [into]
格式:
包含主鍵:insert into 表名(欄位1,欄位2,....) values (值1,值2,....);
主鍵自增,省略主鍵:insert into 表名 (不包含主鍵) values (不包含主鍵);
註意事項:
1.欄位和值一定要一一對應(個數,數據類型)
2.除了數值類型(int ,double),其他的數據類型都需要使用引號包裹起來
可以使用''.也可以使用"",建議使用''
包含主鍵:insert into 表名 (欄位1,欄位2,...) values (值1,值2,....);
例:insert into category (cid,cname) values (1,"服裝");
insert into category (cid,cname) values (1,"彩電");


創建category表主鍵自增auto_increment(主鍵自己添加,自己增長)
例:create table category(
  cid int primary key auto_increment,
  cname varchar(100)
);
主鍵自增,省略主鍵:insert into 表名 (不包含主鍵) values (不包含主鍵);
例:insert into category (cname) values ("彩電");

 

批量插入數據
格式:
包含主鍵:insert into 表名 (欄位1,欄位2,...) values (值1,值2,...),(值1,值2,...),(值1,值2,...);
主鍵自增,省略主鍵:insert into 表名 (不包含主鍵) values (值1,值2,...),(值1,值2,...)..;
insert into category (cid,cname) values (3,'空調'),(4,'洗衣機');
insert into category (cname) values ('微波爐'),('電磁爐');


省略欄位名格式:必須給出全部欄位的值(包含主鍵)
格式:
insert into 表名 values (全部欄位的值);
insert into 表名 values (全部欄位的值),(全部欄位的值),..;
例:insert into category values(7,'冰箱');
insert into category values(8,'筆記本電腦'),('台式機');


添加數據,記不住主鍵的情況下,可以使用null ,sql會自動計算主鍵
例:insert into category values (null,'小米6');

更新表數據,使用關鍵字update(更新,修改) set(設置)
格式:
不帶條件過濾,一次修改列中所有的數據
update 表名 set 欄位名=欄位值,欄位名=欄位值,...;
帶條件過濾,使用關鍵字where
update 表名 set 欄位名=欄位值,欄位名=欄位值,...where 過濾條件;
不低條件過濾(慎用)
例:update category set cname='全部修改';
帶條件過濾,使用關鍵字where
update category set cname='黑白電視機' where cid=4;


刪除表數據 使用關鍵字delete from
格式:
delete from 表名 [where 條件過濾];
delete from 表名 刪除表中的所有數據,但是不會刪除主鍵自增
truncate table 表名;刪除表中的所有數據,會刪除主鍵自增,讓主鍵自增重置從1開始
delete from 表名 [where 條件過濾];
例:delete from category where cid=4;
delete from 表名
例:delete from category;
使用delete刪除之後插入數據,主鍵會出現斷號,沒有之前的序號
insert into category (cname) values ('手機');
delete from category where cid=12;
insert into category (cid,cname) values(12,'手動插入指定的主鍵列');

truncate table 表名
例:truncate table category


主鍵約束
使用關鍵primary key
作用:
約束主鍵列不能為null
不能重覆
每個表都必須有一個主鍵,且只能有一個主鍵
主鍵不能使用業務數據


添加主鍵的第一種方式
在列名之後直接添加
create table persons(
  Id_p int primary key,
  LastName varchar(255),
  FirstName varchar(255),
  Address varchar(255),
  City varchar(255)
);
insert into persons(Id_p,LastName) values (1,'張');
insert into persons(Id_p,LastName) values (null,'張');-- 非空
insert into persons(Id_p,LastName) values (1,'張');-- 重覆


添加主鍵的第二種方式
使用constraint區域
格式:
[constraint 名稱] primary key (欄位列表)
CREATE TABLE persons(
  Id_P INT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255),
  CONSTRAINT pk_id_p PRIMARY KEY(Id_P)
);
constraint如果不給出主鍵的名字,可以省略關鍵字constraint
CREATE TABLE persons(
  Id_P INT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255),
  PRIMARY KEY(Id_P)
);


添加主鍵的第三種方式
創建表之後,通過修改表結構,添加主鍵的第一種方式
alter table 表名 add [constraint 名稱] primary key (欄位列表);
CREATE TABLE persons(
  Id_P INT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255)
);
ALTER TABLE persons ADD PRIMARY KEY(Id_P);


刪除主鍵
alter table persons drop primary key;


聯合主鍵
使用兩個以上的欄位為主鍵
CREATE TABLE persons(
  Id_P INT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255),
  PRIMARY KEY(LastName,FirstName)
);


非空約束
使用關鍵字not null
作用:強制約束某一列不能為null(不接受null值)

創建非空約束的第一種格式,創建表示,欄位後直接給出
CREATE TABLE persons(
  Id_P INT PRIMARY KEY AUTO_INCREMENT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255) NOT NULL
);
添加數據
INSERT INTO persons(lastname,city) VALUES('張','雄縣');
INSERT INTO persons(lastname,city) VALUES('李','null');
INSERT INTO persons(lastname,city) VALUES('王','');
INSERT INTO persons(lastname,city) VALUES('趙',NULL);-- Column 'City' cannot be null


java四大皆空
String s ="";s="null" s=null; void

創建非空約束方式二
修改表結構
alter table 表名 modify 列名 類型[長度] [約束];
CREATE TABLE persons(
  Id_P INT PRIMARY KEY AUTO_INCREMENT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255)
);
ALTER TABLE persons MODIFY city VARCHAR(255)NOT NULL;

刪除非空約束
alter table persons modify city varchar(255);

 

唯一約束
使用關鍵字unique
作用:添加了唯一約束的欄位,不能重覆

創建唯一約束的第一種格式,創建表時,在欄位後直接給出
CREATE TABLE persons(
  Id_P INT PRIMARY KEY AUTO_INCREMENT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255) UNIQUE
);
INSERT INTO persons (lastname,city) VALUES('張','模里西斯');
-- Duplicate entry '模里西斯' for key 'City'
INSERT INTO persons (lastname,city) VALUES('王','模里西斯');


創建唯一約束的第二種格式,創建表時使用[constraint 名稱] unique (欄位列表)
CREATE TABLE persons(
  Id_P INT PRIMARY KEY AUTO_INCREMENT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255),
  CONSTRAINT UNIQUE(City)
);

創建唯一約束的第三種格式,創建表之後,修改表數據
alter table 表名 modify 列名 類型[長度] [約束];
CREATE TABLE persons(
  Id_P INT PRIMARY KEY AUTO_INCREMENT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255)
);
ALTER TABLE persons MODIFY city VARCHAR(255) UNIQUE;
alter table 表名 add [constraint 名稱] unique (欄位列表)
CREATE TABLE persons(
  Id_P INT PRIMARY KEY AUTO_INCREMENT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255)
);
ALTER TABLE persons ADD UNIQUE(City);


刪除唯一約束
alert table persons drop index 名稱
定義約束的時候,如果沒有創建名稱,則名稱為字元串
alter table persons drop index city;


預設約束
給欄位添加一個預設值,如果欄位沒有插入值,則使用預設值
使用關鍵字default值
創建預設約束方式一,創建表,列數據類型後面 default '預設值'
CREATE TABLE persons(
  Id_P INT PRIMARY KEY AUTO_INCREMENT,
  LastName VARCHAR(255),
  FirstName VARCHAR(255),
  Address VARCHAR(255),
  City VARCHAR(255)DEFAULT '中國'
);
INSERT INTO persons (lastname) VALUES('張');
INSERT INTO persons (lastname,city) VALUES('張','加拿大');


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 知識點:EXISTS子查詢、NOT EXISTS子查詢、分頁查詢、UNION聯合查詢 一.單詞部分 ①exist存在②temp臨時的③district區域 ④content內容⑤temporary暫時的 二.預習部分 1.表連接都可以用子查詢替換嗎 是的 2.檢測某列是否存在某個範圍可以在子查詢中使 ...
  • 當跳轉到user頁面時,右邊的uiview是為空的,要點擊了左側的導航才能插入模板,如何在路由中設置二級視圖的預設顯示頁面呢? app.config(function($stateProvider, $urlRouterProvider) { $urlRouterProvider.when('', ...
  • 一.單詞部分 ①constraint約束②foreign外鍵③references參考 ④subquery子查詢⑤inner內部的⑥join連接 二.預習部分 1.修改表SQL語句的關鍵字是什麼 RENAME 修改表名CHANGE修改欄位 2.哪個關鍵字可以按指定行數返回查詢結果集 LIMIT 3. ...
  • 首先安裝MySQL: 一.單詞部分: ①networking網路②option選擇③port埠④firewall防火牆⑤engine引擎 ⑥standard標準⑦character字元⑧collation校對⑨stirage存儲 create 創建 drop 刪除 comment 評論 varia ...
  • 日前宣佈,其基於MySQL的關係型雲資料庫已經正式上線公測,用戶可通過易雲管理控制台創建、監控與管理mysql資料庫。此服務包括線上擴容、自動備份、靈活配置和監控告警等功能,旨在幫助用戶實現便捷的運維管理。 ...
  • 使用mysqldump命令備份恢復MySQL資料庫: mysqldump -u user -p password database-name > backup.sql mysql -u root -p [dbname] < backup.sql ...
  • 在Oracle 11g中,Oracle 增加了2個查詢:pivot(行轉列) 和unpivot(列轉行) pivot(聚合函數 for 列名 in(類型)) ,其中 in('') 中可以指定別名,in中還可以指定子查詢 行轉列: select * from rhsa_gcfx_result orde ...
  • 1、明確技術與業務的關係 (1)知識和發明來自實踐和生產的實際需要,OSI的7層模型再美、再學院化也沒有乾過TCP/IP; (2)切莫強求技術驅動,技術職責第一要務是做好深度服務業務; (3)數據產品不同於一般業務系統。隔行如隔山,跨部門項目往往對雙方團隊的時間管理、利益妥協、溝通協作和交付提出了很 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...