day12 mysql 的增刪改查

2022-09-09 11:03:29 字數 3218 閱讀 1203

mysql login

mysql -uroot -p

密碼  zst

使用資料庫

use mysql

新增使用者:

insert into user

(host,user,password, #定義 新的使用者名稱 密碼

select_priv,insert_priv,update_priv) #定義是否授予許可權 顯示、插入、更改的許可權

values('localhost','guest',

password('guest'),'y','y','y'); #給前面的定義進行賦值,許可權為y or n 。

flush privileges; #重新整理許可權。

外圍操作:

show databases; 列出 mysql 資料庫管理系統的資料庫列表

show tables; 顯示指定資料庫的所有表

show columns from database_name;顯示指定資料庫的所有屬性。

show index from table 顯示指定表的所有索引資訊。

增刪資料庫:

create database name charset "utf8"; 建立乙個名字為name的資料庫,且字元型別char 設定支援utf8

drop database name; 刪除名字為name的資料庫。

建立一張名字為student表

create table student(

stu_id int not null auto_increment, 定義屬性stu_id 為整型,且不能為孔,且會自增。

name char(32) not null,

age int not null,

register_date date,

primary key ( stu_id ) 定義乙個屬性 為主鍵

);改表名

alter table testalter_tbl rename to alter_tbl 用 rename to

在表中插入一條資料

insert into table_name ( field1, field2,...fieldn )

values

( value1, value2,...valuen ); 像字典一樣 一一對應的插入。

檢視顯示資料:

select name from table_name where id=1;

顯示指定表的指定某些資料,where類似與過濾器。

模糊匹配檢視顯示資料:

select *from student where name binary like "%li"; 通過where 屬性 like 類似於正規表示式來篩選匹配。

模糊匹配檢視顯示資料再排序:

增加 order by 屬性 desc ; desc 公升序,asc 降序。

增刪改表內某個屬性:

alter table student drop register_date;

drop 為刪, add 為增加 如 alter table student add phone int(11) not null;

alter table student modify c char(10) 在指定的table裡改 屬性c的字段型別。也可以改modify為change如下

alter table student modify c c char(10) 寫出原屬性 寫出 改後的屬性 並且指定字段型別。

alter table testalter_tbl modify j bigint not null default 100 改的當時可以設定乙個預設值。

改表名

alter table testalter_tbl rename to alter_tbl 用 rename to

更改資料update:

update table_name set name="",age="" where id= ;更新指定表 指定某個屬性的值為多少,最後通過過濾器哪幾條。

刪除資料 delete:

delete from table_name [where 同上。

分組統計顯示:select name, count(*) from employee_tbl group by name;按name分組,且按name計數。

分組統計顯示公升級版-最後一條增加累計統計-with rollup

select name, sum(singin) as singin_count from employee_tbl group by name with rollup;

再公升級 最後一條增加屬性名字

select coalesce(name, '總數'), sum(singin) as singin_count from employee_tbl group by name with rollup;

兩張表通過主鍵關聯 這裡面的單引號要全部去掉

mysql> create table class(

id int not null primary key,

name char(16));

query ok, 0 rows affected (0.02 sec) 先建立乙個主表

create table `student2` ( 建立乙個附表

`id` int(11) not null,

`name` char(16) not null,

`class_id` int(11) not null,

primary key (`id`), 設定id為主鍵

key `fk_class_key` (`class_id`),

constraint `fk_class_key` foreign key (`class_id`) references `class` (`id`)

key `fk_class_key` (`class_id`) 寫第二張表用來連線的那個屬性

constraint `fk_class_key 約束前一行定義

foreign key 為外部鍵 指第二張表的鍵用於和第一張表建立連線

references `class` (`id`) 為第一張表的 id 用於建立連線 這裡的class 為第一張表的名字

其中 fk_class_key 這個式固定的 跟表的名字沒有關係

連起來 就是 指定乙個外來鍵 約束它為外部鍵 最後參考另一張表的主鍵

mysql增刪改查效果 mysql增刪改查

檢視所有資料庫 mysql show databases 建立乙個庫ghd並指定字符集為utp8 mysql create database ghd charset utf8 檢視mysql支援的字符集 mysql show char set 建立乙個表,並設定id為主鍵 create table ...

mysql增刪改查擴充套件 MySQL增刪改查

1 插入 insert 1 insert into 表名 values 值1 值2 例子 insert into t1 values zengsf 23 fengshao 22 2 insert into 表名 欄位1,values 值1 例子 insert into t1 name values ...

mysql建刪改查 MySQL增刪改查

登入mysql mysql u root p 密碼 建立使用者 mysql insert into mysql.user host,user,password values localhost test password 1234 這樣就建立了乙個名為 test 密碼為 1234 的使用者。注意 此...