程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MYSQ養成記-MYSQL基礎增強(Mysql基本語句),mysq-mysql

MYSQ養成記-MYSQL基礎增強(Mysql基本語句),mysq-mysql

編輯:MySQL綜合教程

MYSQ養成記-MYSQL基礎增強(Mysql基本語句),mysq-mysql


MYSQL基礎增強

庫操作

 1      創建一個使用UTF-8字符集的數據庫:
 2      create database mydb character set UTF8;
 3 
 4      創建一個帶校對集的數據庫
 5      create database mydb character set UTF8 collate utf8_general_ci;
 6 
 7      查看所有數據庫:
 8      show databases;
 9      show databases like 'pattern';
10 
11      顯示數據庫的創建信息
12      show create database mydb ;
13 
14      刪除數據庫:
15      drop database mydb ;
16 
17      修改庫(庫名不能修改,可以修改庫的細節.)
18      alter database mydb character set gb2312;
19 
20      備份庫(windows命令)
21      退出mysql客戶端,quit,執行:
22      mysqldump -uroot -p mydb >c:\test.sql
23 
24      恢復庫(只能恢復庫的數據,不能恢復庫,首先要創建庫)
25      Mysql命令行恢復:
26      use mydb;
27      source d:\book.sql;
28      windows命令恢復:
29      mysql -uroot -p mydb<c:test.sql

表細節操作

 1     修改表的細節信息:增加列
 2     alter table books add classify varchar(40);
 3 
 4     查看表的創建細節:
 5     show create table employee;
 6     查看表的結構:
 7     desc books;
 8 
 9     修改bookname列的長度:修改列的細節
10     alter table books modify bookname varchar(60);
11 
12     修改列的細節
13     alter table users change column id id int;
14 
15     刪除author列:
16     alter table books drop author;
17 
18     修改表名:
19     rename table books to book;
20 
21     修改表的字符集:
22     alter table users character set gb2312;
23 
24     修改列名:將user表的password列修改為userpass列
25     alter table user change column password userpass varchar(20);
26     刪除表:
27     drop table users;

表操作

 1 規范建表:
 2 主鍵約束:primary key
 3 主鍵自動增長:auto_increment
 4 唯一約束:unique
 5 非空約束:not null
 6 外鍵約束:
 7     constraint ordersid_FK foreign key(ordersid) references orders(id)
 8     constraint :定義一個約束
 9     ordersid_FK :約束名稱
10     foreign 外鍵約束
11     key(ordersid):約束誰
12     references orders(id) 參考誰
13 例1
14 create table test4(
15     id int primary key auto_increment,
16     name varchar(20) unique not null
17 );
18 例2.外鍵約束
19 create table card(
20     id int primary key,
21     name varchar(20)
22 );
23 create table users(
24 id int primary key,
25 name varchar(20),
26 card_id int,
27 constraint card_id_FK foreign key(card_id) references card(id)
28 );
29 insert into card(id,name) values(1,'aaa');
30 insert into users(id,name,card_id) values(1,'bbbb',1);
31 insert into users(id,name,card_id) values(2,'bbbb',2);//出錯
32 會提示外鍵相關錯誤
33 
34 insert:
35 insert into users(id,name) values(1,'bbbb');
36 insert into users values(1,"aaa"),(2,"bbb"),(3,"ccc");//批量插入多條
37 insert into users set id=5,name='tom';//使用set插入數據
38 
39 update:
40 update users set name='tom';//將用戶名改為tom,謹慎使用
41 update users set name='tom' where id=1;
42 update users set name='tom',sex='男' where id=2;
43 update employee set sala=sala+1000 where username='tom';將tom員工的薪水加1000
44 
45 delete:
46 注意一定要與where語句配合使用,否則可能會刪除所有記錄
47 delete from table users where id=1;
48 delete from users;刪除所有數據
49 truncate table employee;//刪除表中所有記錄,與上一個的不同是:如果表數據很多的話這個快一些,他是摧毀表再重建。使用它的話auto_increment會從1開始.
50 
51 select:
52 select * from users;
53 select id,name from users;
54 select distinct name from users;//去掉重復列
55 select name,(english+chinese+math+history) from student;//統計每個學生的總分
56 select * from student where name like '%李%';//查詢姓名含有李的學生成績
57 select * from student where name like '李_';//查詢姓李的兩個字的學生成績
58 select name,math from student order by math desc;//根據數學成績排序,默認升序
59 select count(*) from student;//統計個數
60 select count(*) from student where math>=90;//統計數學成績大於90分的個數
61 ......其他功能查閱文檔

相關網址:
Mysql5.x手冊 http://doc.mysql.cn/
Mysql官網 http://dev.mysql.com/
Mysql5.7參考手冊 http://dev.mysql.com/doc/refman/5.7/en/
其他參考手冊
CSDN-Mysql知識庫

author: liuning

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved