SQL基礎-DDL數據定義語言

SQL數據定義語言-DDL語句

DDL語句部分使咱們有能力建立或刪除表格。咱們也能夠定義索引(鍵),規定表之間的連接,以及施加表間的約束。mysql

語句 釋義
CREATE DATABASE 建立新數據庫
ALTER DATABASE 修改數據庫
CREATE TABLE 建立新表
ALTER TABLE 變動(改變)數據庫表
DROP TABLE 刪除表
DELIMITER 分隔符
CREATE INDEX 建立索引(搜索鍵)
DROP INDEX 刪除索引

1. 設置root帳戶

其一:sql

mysql -u root -p

回車便可,由於尚未root密碼。下來根據提示輸入y表示新建root。而後是連續輸入兩次root密碼。接下來就是一路輸入y後回車就能夠了。數據庫

其二:性能優化

mysql > mysql -u root -p  所要設置的密碼

須要修改密碼的話:數據結構

mysql > mysql -u root -p  已經設置的舊密碼  password  所要設置的新密碼

2. 使用數據庫:

登陸數據庫性能

#mysql -u root -p

切換數據庫測試

mysql > use 數據庫名稱;

更新數據庫使之改動生效優化

mysql > flush privileges;

3. 建立數據庫信息

新建數據庫ui

mysql > create database 數據庫名字 default character set utf8mb4;

若是不存在建立數據庫編碼

mysql > create database if not exists 數據庫名字;

建立數據庫表

mysql > create table 表名稱(列名1 類型1,列名2 類型2);

4. 查看

查看數據庫信息

語句 釋義
show databases; 顯示已有的數據庫
show create database 數據庫名字; 查看建立的數據庫信息
select database(); 查看當前數據庫
select host,user from mysql.user; 顯示已經創建的用戶
select now(); 查看當前時間
show warngings; 查看數據庫警告信息

查看數據表信息

語句 釋義
show tables; 顯示已有的數據表
show create table 數據表名字; 查看建立的表信息
desc 數據表名字; 查看數據表屬性

5. 更改信息

更改數據庫編碼

mysql > alter database 數據庫名字 character set utf8mb4;

更改表名

mysql > rename table 表名 to 新表名;

更改表結構

固有參數 釋義
add 添加列
modify 修改數據類型
change 修改列名
drop 刪除列

用法:

mysql > alter table 表名字 固有參數 列名 類型 [完整性約束條件];

添加主鍵

mysql > alter table 表名 add primary key(字段名稱...);

刪除主鍵

mysql > alter table 表名 drop primary key;

6. 刪除數據庫信息

刪除數據庫

mysql > drop database 數據庫名字;

刪除數據庫表

mysql > use 數據庫;
#進入全部刪除的數據庫
mysql > drop table 數據庫的表;
#刪除須要刪除的表

7. 使用數據庫

mysql > use 所要使用的數據庫名字;

這裏,use 語句能夠通告MySQL把db_name數據庫做爲默認(當前)數據庫使用,用於後續語句。該數據庫保持爲默認數據庫,直到語段的結尾,或者直到出現下一個不一樣的use語句

8. 刪除帳戶及權限

mysql > drop user 用戶名@'%';
 

mysql > drop user 用戶名@ localhost; 
 

mysql > drop user 用戶名@'192.168.1.33_';

9. 退出數據庫

離開mysql:輸入

mysql > \q

或者

mysql > quit

10. 增刪改綜合示例

mysql > create database if not exists 數據庫名字 default character set utf8mb4; 
#建立數據庫,避免重複數據庫報錯

mysql > use 數據庫名字;
#進入數據庫

mysql > CREATE TABLE 表1(ID int,Name varchar(255));
#建立數據庫表

mysql > alter database 數據庫名字 character set utf8mb4;
#更改數據庫編碼

mysql > rename table 表1 to 新表名;
#更改數據表名

mysql > alter table 新表名 add 新增列名 int;
#新增列名

mysql > drop table 數據庫的表;
#刪除須要刪除的表

mysql > drop database 數據庫名字;
#刪除須要刪除的數據庫

11. 索引

索引特色

索引在 MySQL 中也叫"鍵",是儲存引擎用於快速找到記錄的一種數據結構。索引對於良好的性能很是關鍵,尤爲是當表中數據量愈來愈大時,索引對於性能的影響愈發重要。

  • 索引優化是對查詢性能優化最有效的手段
  • 索引可以輕易將查詢性能提高好幾個數量級
  • 索引至關於字典音序表,可用於定向區域查找
  • 索引的建立和維護會小號不少時間和磁盤,但大大提高了查詢速度

索引類型

類型 釋義
INDEX 普通索引
UNIQUE 惟一索引
FULLTEXT 全局索引
SPATIAL 空間索引

查看索引類型,可在查看建立表類型中查看

SHOW CREATE TABLE 表名;

索引語法

建立表時

CREATE TABLE 表名(
                字段名1     數據類型    [完整性約束條件...],
                字段名2     數據類型    [完整性約束條件...],
                [UNIQUE | FULLTEXT | SPATIAL ] INDEX | KEY
                [索引名]    (字段名[(長度)]    [ASC | DESC])
                );

已有表中添加

CREATE [UNIQUE | FULLTEXT | SPATIAL ] INDEX | KEY
                [索引名]    (字段名[(長度)]    [ASC | DESC]);

刪除索引

DROP INDEX 索引名稱 on 表名;

索引用法

列1設爲主鍵,且自增加,列2設爲指定索引列

INDEX 普通索引
mysql > CREATE TABLE 索引測試表(列1 INT primary key auto_increment,列2 varchar(20),INDEX 索引名 (列2));

mysql > CREATE TABLE 索引測試表(列1 INT primary key auto_increment,列2 varchar(20),KEY 索引名 (列2));
UNIQUE 惟一索引
mysql > CREATE TABLE 索引測試表2(列1 INT primary key auto_increment,列2 varchar(20),UNIQUE INDEX 索引名 (列2));
FULLTEXT 全文索引
mysql > CREATE TABLE 索引測試表2(列1 INT primary key auto_increment,列2 varchar(20),FULLTEXT INDEX 索引名 (列2));
多列索引
mysql > CREATE TABLE 索引測試表2(列1 INT primary key auto_increment,列2 varchar(20),INDEX 索引名 (列1,列2));

12. 分隔符

SQL默認結束分隔符爲分號";",可試用delimiter變動

mysql > DELIMITER !

執行完畢後結束分隔符即變動爲所設定的"!"符號。

相關文章
相關標籤/搜索