搜尋
首頁資料庫mysql教程mysql基础使用浅谈(1)

mysql基础使用浅谈(1)

Jun 07, 2016 pm 02:49 PM
mysqlsudo使用啟動基礎安裝資料庫

一、安装启动数据库 1.安装数据库: sudo apt-get install mysql-server sudo apt-get install mysql-client 2.开启数据库: sudo service mysql start 3.登录数据库: mysql -u root (这是在数据库没有密码的情况下登录) mysql -u root -p (这是在数据库有

一、安装启动数据库

1.安装数据库:

 sudo apt-get install mysql-server
 sudo apt-get install mysql-client
2.开启数据库:

 sudo service mysql start


3.登录数据库:
mysql -u root     (这是在数据库没有密码的情况下登录)

mysql -u root -p (这是在数据库有密码的情况下登录)






二、创建数据库(注意在输入mysql命令时特别注意分号—“;”的使用!!!)

1.创建数据库:

CREATE DATABASE hello;             (表示创建名为hello的数据库)

(这里要注意的是mysql中对于命令并不区分大小写,所以CREATE DATABASE也可以写成create database;create DATABASE;CREATE daTabase等)

若输入以上指令后出现:Query OK,1 row affected 
则说明创建成功。
可以通过命令 :show databases;     进行查看


2.连接数据库
eg: use hello
若出现:Database changed 则说明数据库连接成功


查看当前数据库中的表格命令:show tables;
若提示:Empty set(0.00 sec)
则说明当前数据库为空。


3.新建数据表
创建的格式为:
create table  表格的名称

    列名1  数据类型(数据长度),
    列名2  数据类型(数据长度),
    列名3 数据类型(数据长度)
 );
eg:
create table zhuce

    id int(10),
    name char(20),
    phone int(10)
);
当提示为:Query OK,0 rows affected(0.10 sec)
则说明创建成功!


可以通过show tables; 命令对次数据库中的表格进行查看。


4.数据类型
数据库中的数据类型与普通的编程语言的数据类型大同小异,很多的用法形式都是一样的,以下列出不同的:
enum       用途:单选,比较性别     eg:enum('a','b','c')
set           用途:多选                      eg:set('1','2','3')
date        用途:日期                       eg:YYYY-MM-DD    3个字节
time        用途:时间点或持续时间   eg:HH:MM:SS         3个字节
year        用途:年份值                    eg:YYYY                   1个字节
varchar   用途:变长字符串                                              0~255字节
text        用途:长文本数据                                          0~65535字节
  
char和varchar区别:
char:char(10)表示的就是存储的字符占10个字节(无论有没有存          满10个字符)。
varchar:varchar(10)表示的是最多可以存10个字节,但是当你存入的字符小于10时,则按实际长度存储。


5.插入数据
通过以下命令对表格进行查看:select * from nihao;
出现:Empty set
则表示表格中仍为空~~~
下面需要在表格中插入数据,插入格式为:
insert into 表格名称(列名1,列名2,列名3) values(值1,值2,值3);
eg:
insert into nihao (id,name,phone) values(01,'Tommy',101010);
当显示为Query OK,则说明插入成功啦!


这里要注意对于varchar、char、date、time、enum、text、set等类型时需要单引号修饰,而int、float、double等则不需要单引号。


插入后再使用select * from nihao查看nihao表格。



6.退出mysql连接

输入exit 或者是quit 或者是 \q 即可退出






三、mysql 中的约束类

约束类型及其关键字如下:


1.主键约束

   主键约束用于约束表中一行,作为这一行的标识符,在一张表中通过主键就可以准确定位到一行,行中的主键不能有重复且不能为空!!!

   eg:create table example1

            ( id   int(10) primary key

               name  char(20),

               constraint dpt_pk primary key(dpt_name)

              ); 

    表示的就是主键约束,constraint dpt_pk primary key(dpt_name)这句代码是定义主键,dpt_pk是自定义的主键名。

     还有复合主键定义eg: constrint proj_pk primary key(proj_num,proj_name)


2.默认值约束

   默认值约束规定当有默认值约束的列,插入数据为空时,这个位置将会被默认值的值填充

  设置如下:

       

代码分析:代码中的default'10' 表示的就是当dpt_num没有输入时,则默认输出为10


eg:insert into example(dpt_name,dpt_num) value('nihao',11);

         insert into example(dpt_name) values('wohenhao');

      代码分析:第二行代码中没有输入dpt_num

        输入完以上代码后输入select * from example; 对表格进行查看发现:

         


3.唯一约束

唯一约束就是规定表中指定的一列的值必须不能有重复值,即这一列每个值都是唯一的。

表格创建形式如下:


   代码分析:代码中的unique(stu_class)就是对stu_class的唯一约束。


输入数据如下:



当输入第二行代码时,会发现提示错误,错误的原因是stu_class的在表格建立时设置为unique,即唯一值!



4.外键约束

外键既能确保数据完整性,也表现表之间的关系,一个表可以有多个外键,每个外键必须参考另一个表的主键,被外键约束的列,取值必须在它的参考列中有对应的值。


5.非空约束

被非空约束的列,在进入时必须为非空的。

表格创建如下:


代码分析:这里设定的是id不能为空


数据插入:


代码分析:可以看到代码中没有输入id,输入完成后,有 1 warning 一个警告。


查看表格:


id没有输入,但是其在表格中显示值为0,即当id被not null约束时,当输入为空时,被记为0.



四、修改和删除

1.删除数据库

命令如下示例:drop database 数据库名;

eg:drop database test;


2.重命名表

格式:rename table 原名 to 新名;

            或者是:alter table 原名 rename 新名;

           或者是: alter table 原名 rename to 新名;


3.删除表

格式:drop table 表名称;


4.修改表结构

①增加一列:

格式:alter table 表名字 add column 列名称 数据类型 约束;

 或:alter table 表名字 add 列名字 数据类型 约束;


②删除一列:

格式:alter table 表名字 drop column 列名字;

或: alter table 表名字 drop 列名字;


③重命名一列:

格式:alter table 表名称 change 原列名 新列名 数据类型 约束;

(注意:这条重命名语句后面的“数据类型”不能省略,否则重命名失败)


④改变数据类型

格式:alter table 表名字 modify 列名字 新数据类型;

(需要谨慎考虑,可能导致数据丢失)


5.对表的内容修改

①修改表中的某个值

格式:update 表名字 set 列1=值1,列2=值2 where 条件;

(注意:一定要有where条件,否则后果不堪设想!)


②删除一行记录

格式:delete from 表名字 where 条件;

eg:delete form test where name='nihao';





陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
MySQL的許可與其他數據庫系統相比如何?MySQL的許可與其他數據庫系統相比如何?Apr 25, 2025 am 12:26 AM

MySQL使用的是GPL許可證。 1)GPL許可證允許自由使用、修改和分發MySQL,但修改後的分發需遵循GPL。 2)商業許可證可避免公開修改,適合需要保密的商業應用。

您什麼時候選擇InnoDB而不是Myisam,反之亦然?您什麼時候選擇InnoDB而不是Myisam,反之亦然?Apr 25, 2025 am 12:22 AM

選擇InnoDB而不是MyISAM的情況包括:1)需要事務支持,2)高並發環境,3)需要高數據一致性;反之,選擇MyISAM的情況包括:1)主要是讀操作,2)不需要事務支持。 InnoDB適合需要高數據一致性和事務處理的應用,如電商平台,而MyISAM適合讀密集型且無需事務的應用,如博客系統。

在MySQL中解釋外鍵的目的。在MySQL中解釋外鍵的目的。Apr 25, 2025 am 12:17 AM

在MySQL中,外鍵的作用是建立表與表之間的關係,確保數據的一致性和完整性。外鍵通過引用完整性檢查和級聯操作維護數據的有效性,使用時需注意性能優化和避免常見錯誤。

MySQL中有哪些不同類型的索引?MySQL中有哪些不同類型的索引?Apr 25, 2025 am 12:12 AM

MySQL中有四種主要的索引類型:B-Tree索引、哈希索引、全文索引和空間索引。 1.B-Tree索引適用於範圍查詢、排序和分組,適合在employees表的name列上創建。 2.哈希索引適用於等值查詢,適合在MEMORY存儲引擎的hash_table表的id列上創建。 3.全文索引用於文本搜索,適合在articles表的content列上創建。 4.空間索引用於地理空間查詢,適合在locations表的geom列上創建。

您如何在MySQL中創建索引?您如何在MySQL中創建索引?Apr 25, 2025 am 12:06 AM

toCreateAnIndexinMysql,usethecReateIndexStatement.1)forasingLecolumn,使用“ createIndexIdx_lastNameEnemployees(lastName); 2)foracompositeIndex,使用“ createIndexIndexIndexIndexIndexDx_nameOmplayees(lastName,firstName,firstName);” 3)forauniqe instex,creationexexexexex,

MySQL與Sqlite有何不同?MySQL與Sqlite有何不同?Apr 24, 2025 am 12:12 AM

MySQL和SQLite的主要區別在於設計理念和使用場景:1.MySQL適用於大型應用和企業級解決方案,支持高性能和高並發;2.SQLite適合移動應用和桌面軟件,輕量級且易於嵌入。

MySQL中的索引是什麼?它們如何提高性能?MySQL中的索引是什麼?它們如何提高性能?Apr 24, 2025 am 12:09 AM

MySQL中的索引是數據庫表中一列或多列的有序結構,用於加速數據檢索。 1)索引通過減少掃描數據量提升查詢速度。 2)B-Tree索引利用平衡樹結構,適合範圍查詢和排序。 3)創建索引使用CREATEINDEX語句,如CREATEINDEXidx_customer_idONorders(customer_id)。 4)複合索引可優化多列查詢,如CREATEINDEXidx_customer_orderONorders(customer_id,order_date)。 5)使用EXPLAIN分析查詢計劃,避

說明如何使用MySQL中的交易來確保數據一致性。說明如何使用MySQL中的交易來確保數據一致性。Apr 24, 2025 am 12:09 AM

在MySQL中使用事務可以確保數據一致性。 1)通過STARTTRANSACTION開始事務,執行SQL操作後用COMMIT提交或ROLLBACK回滾。 2)使用SAVEPOINT可以設置保存點,允許部分回滾。 3)性能優化建議包括縮短事務時間、避免大規模查詢和合理使用隔離級別。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器