DDL語句部分使咱們有能力建立或刪除表格。咱們也能夠定義索引(鍵),規定表之間的連接,以及施加表間的約束。mysql
語句 | 釋義 |
---|---|
CREATE DATABASE | 建立新數據庫 |
ALTER DATABASE | 修改數據庫 |
CREATE TABLE | 建立新表 |
ALTER TABLE | 變動(改變)數據庫表 |
DROP TABLE | 刪除表 |
DELIMITER | 分隔符 |
CREATE INDEX | 建立索引(搜索鍵) |
DROP INDEX | 刪除索引 |
其一:sql
mysql -u root -p
回車便可,由於尚未root密碼。下來根據提示輸入y表示新建root。而後是連續輸入兩次root密碼。接下來就是一路輸入y後回車就能夠了。數據庫
其二:性能優化
mysql > mysql -u root -p 所要設置的密碼
須要修改密碼的話:數據結構
mysql > mysql -u root -p 已經設置的舊密碼 password 所要設置的新密碼
登陸數據庫性能
#mysql -u root -p
切換數據庫測試
mysql > use 數據庫名稱;
更新數據庫使之改動生效優化
mysql > flush privileges;
新建數據庫ui
mysql > create database 數據庫名字 default character set utf8mb4;
若是不存在建立數據庫編碼
mysql > create database if not exists 數據庫名字;
建立數據庫表
mysql > create table 表名稱(列名1 類型1,列名2 類型2);
查看數據庫信息
語句 | 釋義 |
---|---|
show databases; | 顯示已有的數據庫 |
show create database 數據庫名字; | 查看建立的數據庫信息 |
select database(); | 查看當前數據庫 |
select host,user from mysql.user; | 顯示已經創建的用戶 |
select now(); | 查看當前時間 |
show warngings; | 查看數據庫警告信息 |
查看數據表信息
語句 | 釋義 |
---|---|
show tables; | 顯示已有的數據表 |
show create table 數據表名字; | 查看建立的表信息 |
desc 數據表名字; | 查看數據表屬性 |
更改數據庫編碼
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;
刪除數據庫
mysql > drop database 數據庫名字;
刪除數據庫表
mysql > use 數據庫; #進入全部刪除的數據庫 mysql > drop table 數據庫的表; #刪除須要刪除的表
mysql > use 所要使用的數據庫名字;
這裏,use 語句能夠通告MySQL把db_name數據庫做爲默認(當前)數據庫使用,用於後續語句。該數據庫保持爲默認數據庫,直到語段的結尾,或者直到出現下一個不一樣的use語句
mysql > drop user 用戶名@'%'; mysql > drop user 用戶名@ localhost; mysql > drop user 用戶名@'192.168.1.33_';
離開mysql:輸入
mysql > \q
或者
mysql > quit
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 數據庫名字; #刪除須要刪除的數據庫
索引在 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設爲指定索引列
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));
mysql > CREATE TABLE 索引測試表2(列1 INT primary key auto_increment,列2 varchar(20),UNIQUE INDEX 索引名 (列2));
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));
SQL默認結束分隔符爲分號";",可試用delimiter變動
mysql > DELIMITER !
執行完畢後結束分隔符即變動爲所設定的"!"符號。