|
|
|
數據庫sql |
數據庫數據庫 |
數據庫安全 |
數據庫管理系統DBMSspa |
用戶ID3d |
用戶名對象 |
性別ip |
年齡 |
1001 |
李文傑 |
男 |
23 |
1002 |
桑鳳嬌 |
女 |
22 |
1003 |
張天旭 |
女 |
18 |
類---------》就是表。
類中的屬性---------》表中的字段名。
對象---------》記錄
2.也能夠在DOS命令窗口中: 經過命令完成MYSQL服務的啓動和中止(必須以管理員身份運行cmd命令窗口)。
Mysql 數據庫是一個須要帳戶和密碼的數據庫,登陸後使用,它提供一個默認的帳號,使用安裝時設置的密碼便可登陸。
格式1: :cmd> mysql –u用戶名 –p密碼 例如: mysql –uroot –proot |
格式2:
格式2:cmd> mysql --host=ip地址 --user=用戶名 --password=密碼 例如: mysql --host=127.0.0.1 --user=root --password=root |
MYSQL 中經常使用的數據類型以下:
類型的名稱 |
說明 |
int(integer) |
整數類型 |
double |
小數類型 |
Decimal(m,d) |
指定整數位與小數位長度的小數類型 |
date |
日期類型 格式爲yyyy-MM-dd 包含年月日,不包含時分秒 |
datetime |
日期時間類型,格式爲yyyy-MM-dd HH:MM:SS包含年月日時分秒 |
timestamp |
日期類型,時間戳(包含時區和毫秒) |
varchar(M) |
文本類型,M爲0-65535之間的整數,表示內容的長度 |
語法1: create database 數據庫名稱 語法2: create database 數據庫名稱 character set 字符集 |
例如:
語法: show databases; |
示例:
3 查看某個數據庫的定義信息
語法: show create database 數據庫名; |
3.刪除數據庫
語法: drop database 數據庫名; |
查看正在使用的數據庫: secect database(); |
4 切換數據庫(明確數據庫)
語法: user 數據庫名稱; |
語法: create table 表名( 字段名 類型(長度)[約束], 字段名 類型(長度)[約束], ……. ); |
示例:
語法: show tables; |
語法:desc 表名; |
語法: drop table 表名; |
語法: 添加列:alter table 表名 add 列名(類型)[約束]; |
示例:
語法: alter table 表名 modify 列名 類型(長度)[約束]; |
語法: alter table 表名 change 舊列名 新列名 類型(長度)[約束]; |
alter table 表名 drop 列名; |
語法: rename table 表名 to 新表名; |
語法:--向表中插入某些字段,這是標準的SQL的寫法 向表中插入全部的字段,插入的字段爲建立表時的字段。 操做1: insert into 表名(字段1,字段2,字段3…….)values(值1,值2,值3…); 操做2: insert into 表名 values(值1,值2,值3); |
【注意】
查詢表中的數據:
語法:update 表名 set 字段名=新值,字段名=新值……..; |
語法: update 表名 set 字段名=新值,字段名=新值…….where 更新條件; |
【注意】
第一種:修改表的記錄:
第二種:修改表的記錄: 根據where條件修改
語法: delete from meth where id=400; |
【注意】:
1 若是不添加where條件,則會把表中的記錄都刪除掉。
2. 若是添加where條件,則就會根據條件進行刪除。
建立表時,在字段描述處,聲明指定字段爲主鍵。 |
use ab_lwj; #添加主鍵 create table person( id int primary key, #主鍵惟一。 lastName varchar(50), firstName varchar(50), address varchar(255) );
|
[constraint 約束名稱] primary key(字段名); |
關鍵字constraint 能夠省略,若是須要爲主鍵命名,constraint則不能省略,主鍵名稱通常沒有用。
CREATE TABLE persons( p_id int, lastName varchar(50), firstName varchar(50), address varchar(255), CONSTRAINT pk_personId PRIMARY KEY(lastName,firstName) #聯合主鍵 )
|
格式: ALTER TABLE表名 ADD [constraint 約束名稱] PRIMARY KEY(字段名); |
示例:
# 方式三,添加主鍵約束 #建立表以後,經過修改表結構,聲明指定字段爲主鍵 CREATE TABLE students( p_id int, lastName varchar(50), firstName varchar(50), address varchar(255) ); ALTER TABLE students ADD Primary key(lastName,firstName); |
語法: ALTER TABLE 表名 drop PRIMARY KEY; |
咱們一般但願在每次插入新記錄的時候,數據庫自動生成字段的值,在MYSQL中,咱們可使用AUTO_INCREMENT自動增加的關鍵字,自動增加列類型必須是整數類型,自動增加列通常都是爲主鍵。
#自動增加列auto_increment CREATE TABLE woment( p_id int primary key,# 主鍵惟一。 lastName varchar(50), firstName varchar(50), address varchar(255) ); Alter table woment Auto_increment=100; # 默認從1開始,能夠自定義設置
|
面試題:******記住******
問: 針對 Auto_increment,刪除表中全部的記錄使用delete from 表名或者使用 truncate table 表名,則他們兩者有啥 區別???
答:
區別1:delete 是一條一條的刪除,不清空auto_increment記錄數。 區別2:truncate 直接將表刪除,從新建立表,auto_increment重置爲0,重新開始。 |
# 非空約束 NOT NULL CREATE TABLE man( p_id int primary key auto_increment,# 主鍵惟一。自動增加列。 lastName varchar(50) NOT NULL, #非空約束 firstName varchar(50) NOT NULL, address varchar(255) NOT NULL ); |
UNIque約束惟一標識數據庫表中的每條記錄,UNIQUE和Primary key 約束均爲列或者列集合提供了惟一性的保證,primary key擁有自動定義的Unique約束,請注意,每一個表能夠有多個UNIQUE約束,可是每一個表中只能有一個primary key主鍵約束。
#添加惟一約束 CREATE TABLE man( p_id int primary key auto_increment,# 主鍵惟一。自動增加列。 lastName varchar(50) NOT NULL, #非空約束 firstName varchar(50) NOT NULL nique, address varchar(255) NOT NULL nique ); |
#添加惟一約束 建立表時,在約束區添加 CREATE TABLE man( p_id int primary key auto_increment,# 主鍵惟一。自動增加列。 lastName varchar(50) NOT NULL, #非空約束 firstName varchar(50) NOT NULL, address varchar(255) NOT NULL, #約束區添加惟一約束 CONSTRAINT lwj_unique unique(lastName,firstName) ); |
# 添加惟一約束 建立表後,修改表結構。 CREATE TABLE man( p_id int primary key auto_increment,# 主鍵惟一。自動增加列。 lastName varchar(50) NOT NULL, #非空約束 firstName varchar(50) NOT NULL, address varchar(255) NOT NULL ); alter table man ADD constraint fame unique(lastName,firstName); |
語法: Alter Table 表名 drop index 約束名; |