<數據庫>MySQL的基本操作
阿新 • • 發佈:2019-01-12
add 列名 mat 類型 出現 upd 建表 date sql的基本操作
1.用戶管理 創建用戶: create user ‘用戶名‘@‘IP地址‘ identified by ‘密碼‘;(IP地址:%代表所有) 用戶登錄: mysql -u 用戶名 -p(enter之後輸入密碼) 剛安裝可能出現問題:無論怎麽都沒法登錄新建的賬戶,提示如下: ERROR 1045 (28000): Access denied for user ‘123‘@‘localhost‘ (using password: YES) 原因:mysql的認證規則導則,匿名用戶影響新用戶的認證 解決辦法:刪除匿名用戶‘root‘@‘localhosr‘和‘‘@‘localhost‘ 刪除用戶: drop user ‘用戶名‘@‘IP地址‘; 修改用戶名: update user set user=‘新用戶名‘ where user=‘老用戶名‘; 修改密碼: set password for ‘用戶名‘@‘IP地址‘ = password(‘新密碼‘); 可能出現的問題:輸入了修改的命令,但是一直提示: Can‘t find any matching row in the user table 原因:沒有及時更新權限(或用戶名) 解決辦法:先輸入命令:flush privileges;(刷新權限)
2.權限管理 查看權限: show grants for ‘用戶名‘@‘IP地址‘; 授權: grant 權限 on 數據庫.表 to ‘用戶名‘@‘IP地址‘;(all privileges除了grant以外的所有權限) 取消權限: revoke 權限 on 數據庫.表 from ‘用戶名‘@‘IP地址‘; 刷新權限: flush privileges; 3.數據庫操作 創建數據庫: create database 數據庫名字 default charset utf8; (創建數據庫X默認編碼utf-8) 刪除數據庫: drop database 數據庫名字; (刪除數據庫X) 修改數據庫: 沒有這種操作,硬要寫就是----先刪除原來的,在創建新的數據庫 查詢數據庫: show databases; (顯示所有數據庫) 使用數據庫: use 數據庫名字;
4.數據表操作: 創建表: create table 表名( 列名 類型 是否為空 默認值, (例:name char(12) not null default libai,) 列名 類型 是否為空 自增列, (例:ID int not null auto_increment primary key,)(一個表只有一個自增列,主鍵:約束(不重復,不為空),加速查找) )engine=innodb default charset=utf8; (引擎和編碼格式) 刪除表: drop table 表名; 清空表: delete from 表名;(自增列還是接著原來的) truncate table 表名;(自增列從1開始) 修改表: 修改表名: alter table 舊表名 rename 新表名; 添加列: alter table 表名 add 列名 類型; 刪除列: alter table 表名 drop column 列名: (drop column:下拉列) 修改列名: alter table 表名 change 原列名 新列名 新類型; 添加主鍵: alter table 表名 add primary key(列名); 刪除主鍵: alter table 表名 drop primary key; 添加外鍵: alter table 從表 add constraint foreign key 從表(外鍵字段) references 主表(主鍵字段); 刪除外鍵: alter table 表名 drop foreign key 外鍵名稱; 修改默認值: alter table 表名 alter column 列名 set default 新默認值; 刪除默認值: alter table 表名 alter column 列名 drop default; 查詢所有表名: show tables;
5.數據表內容操作: 插入數據: insert into 表名(列名1,列名2...) values(列值1,列值2...); 刪除數據: delete from 表名; delete from 表名 where 條件; 修改數據: update 表名 set 列名=列值; update 表名 set 列名=列值 where 條件; 查詢數據: select * from 表名; select * from 表名 where 條件; select 列名1,列名2, from 表名 where 條件;
<數據庫>MySQL的基本操作