溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL學習之一基礎命令

發布時間:2020-04-05 20:39:38 來源:網絡 閱讀:463 作者:起名zhen難 欄目:數據庫

一、SQL語法

1、數據庫表

一個數據庫通常包含一個或多個表。每個表由一個名字標識,表包含帶有數據的行。

2、大小寫

SQL對大小寫不敏感。

3、SQL語句后的分號

某些數據庫要求在每條SQL命令的末尾使用分號,比如mysql。

4、SQL的DML和DDL

可以把SQL分為兩個部分:DML(data manipulation language數據操作語言)和DDL(data definition language數據定義語言)

查詢和更新數據的指令構成了SQL的DML部分:

select —— 從數據庫表中讀取數據

update —— 更新數據庫表中的數據

delete —— 從數據庫表中刪除數據

insert into —— 向數據庫表中插入數據

SQL的DDL部分指創建或刪除表格,更新表結構,定義索引,規定表之間的鏈接,施加表間的約束的命令。

create database —— 創建新數據庫

alter database —— 修改數據庫

create table —— 創建新表

alter table —— 更新表結構

drop table —— 刪除表

create index —— 創建索引

drop index —— 刪除索引

二、創建一個實例

以MySQL為例:

mysql> create database study;
mysql> use study;
mysql> create table students(id int auto_increment primary key,name varchar(255),sex char(10));
mysql> insert into students (name,sex) values ('zhangsan','man'),('lisi','woman'),('wangwu','man'),('zhaoliu','woman');
mysql> select * from students;

SQL學習之一基礎命令

注意:在MySQL中值除了數字之外,都需要用''包含。

三、基礎SQL語句

1、select:用于從表中獲取數據。

格式:select 列名 from 表名;

例子:

①從students表中選取所有的學生姓名:

mysql> select name from students;

②從students表中選取所有的學生姓名和性別:

mysql> select name,sex from students;

多個列名之間用逗號隔開。

③查看students表中的所有數據:

mysql> select * from students;

“*”代表所有的列名。

2、distinct:在表中,可能包含有重復的數據,但是有時希望僅僅列出不同的值。這時使用distinct返回唯一不同的值。

格式:select distinct 列名 from 表名;

例子:

①從students表中列出所有的性別(……):

mysql> select distinct sex from students;
+-------+
| sex   |
+-------+
| man   |
| woman |
+-------+        man和woman各被列出一次。

3、where:用于有條件地從表中獲取數據,通常和select一起使用。

格式:select 列名 from 表名 where 列名 運算符 值;

這里的運算符包含=(等于)、<>(或!=,不等于)、>=(大于等于)、<=(小于等于)、>(大于)、<(小于)、between(在某個范圍內)、like(以某種模式)

例子:

①從students表中列出所有性別為“man”的學生:

mysql> select name from students where sex = 'man';

這樣會列出‘zhangsan’,‘wangwu’二個值。

②從students表中列出所有ID不超過3的學生:

mysql> select name from students where id <= 3;

這樣會列出‘zhangsan’,‘lisi’,‘wangwu’三個值。

③從students表中列出所有ID在2和3之間的學生:

mysql> select name from students where id between 2 and 3;

這樣會列出‘lisi’,‘wangwu’二個值。不同的數據庫對兩個邊界值(2和3)的處理方式不同,mysql會列出包含2和3的列,但是有些數據庫不會列出。

4、and和or:用于對一個以上的記錄進行過濾??梢栽趙here子句中把兩個或多個條件結合起來。

例子:

①從students表中列出ID不超過3,且性別為女的學生姓名:

mysql> select name from students where id <=3 and sex='woman';

這樣會列出‘lisi’一個值。

5、order by:用于對獲取的結果進行排序。默認是對結果進行升序排序,可以使用desc關鍵字對結果進行降序排序。

例子:

①對students表中的姓名按照字母順序顯示:

mysql> select name from students order by name;

②對students表中的姓名按照id由大到小顯示:

mysql> select id,name from students order by id desc;

6、insert into:用于向表中插入新的行(數據)。

格式:insert into 表名 values (值1,值2,……);

向指定的列插入數據:insert into 表名 (列1,列2,……)values (值1,值2,……);

例子:

①向students表中插入一行,id 5,姓名 qianqi,性別 woman:

mysql> insert into students values (5,'qianqi','woman');

②向students表中插入兩行:

mysql> insert into students (name,sex) values ('sunba','man'),('wujiu','man');

一個()里是一行,多行用逗號“,”隔開。

7、update:用于修改表中的數據。

格式:update 表名 set 列名=新值 where 列名=某值;兩個列為不同的列。

例子:

①將students表中zhangsan的性別改為woman:

mysql> update students set sex='woman' where name='zhangsan';

8、delete:用于刪除表中的行(數據)。

格式:delete from 表名 where 列名=值;

例子:

①從students表中刪除姓名為wujiu的行:

mysql> delete from students where name='wujiu';

②刪除students表中所有的行:

mysql> delete from students;或者
mysql> delete * from students;

這樣只會刪除表中的所有數據,并不會刪除表結構、索引、屬性。

9、alter:用于在數據表中添加、修改、刪除列,修改表名稱。

①向表中添加一列:

格式:alter table 表名 add 列名 數據類型;

例子:向students表中添加一列‘age’,數據類型‘int’:

mysql> alter table students add age int;

②修改表中某一列的列名:

格式:alter table 表名 change 現在的列名 修改后的列名 數據類型;

例子:修改students表中‘name’為‘perons’:

mysql> alter table students change name persons varchar(255);

③修改表中某一列的數據類型:

格式:alter table 表名 modify 列名 修改后的數據類型

例子:將students表中persons的數據類型改為char(100):

mysql> alter table students modify persons char(100);

④修改表名

格式:alter table 表名 rename 修改后的表名;

例子:將students表的表名改為learners:

mysql> alter table students rename learners;

⑤刪除表中的某一列

格式:alter table 表名 drop 列名;

例子:刪除learners表中的age列:

mysql> alter table learners drop age;

10、drop:用來刪除數據庫表、索引。

①刪除數據庫:

格式:drop database 數據庫名

②刪除數據表:

格式:drop table 數據表名

③刪除索引,用于MySQL的語法:

格式:alter table 表名 drop 索引名稱

11、primary key:主鍵,唯一標識數據庫表中的每條記錄。

主鍵必須唯一,且不能包含空值。每個表都應該有一個主鍵,并且每個表只能有一個主鍵。

在實例中是把id設為了主鍵,在創建表的時候在id后面加上primary key。

12、auto_increment:設置主鍵自增長。








向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女