1. 程式人生 > >mysql的快速入門

mysql的快速入門

ant 連接mysql apt-get 安裝和使用 name cli varchar esc 增加

最近想使用c語言寫一個聊天的系統,所以看了一看mysql。看到過程中不斷的總結,就寫了一些東西。

說明一下,我使用的系統是ubuntu18.04,

linux下mysql的安裝和使用

1.安裝
sudo apt-get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev
使用這三條命令安裝,什麽含義?
第一個是mysql的服務器
第二個是mysql的客戶端
第三個是mysql的c語言庫.安裝之後的位置在/usr/include/mysql/下面


2.連接數據庫
mysql -h主機地址 -u用戶名 -p用戶密碼
mysql -h localhost -u root -p


3.數據庫的簡單操作

# whereis mysql 查看文件安裝路徑
# which mysql 查詢運行文件所在路徑(文件夾地址)
usr/bin/mysql 是指:mysql的運行路徑
var/lib/mysql 是指:mysql數據庫文件的存放路徑
usr/lib/mysql 是指:mysql的安裝路徑

4.數據庫的相關操作

(1).數據庫的操作
查看數據庫
show databases;(mysql必須使用分號結尾);
創建數據庫
create database mydata;
刪除數據庫
drop database mydata;
使用某個數據庫
use mydata;
(2).數據庫中表的創建、增加、刪除、修改
建立一個表
create table mytable
( //使用圓括號
id int auto_increment not null primary key, //整型、自增、不為空、主鍵
name varchar(20), //字符串20個。
);
插入數據
insert mytable value(123,"qiny"); //設置第一個id的值,id為自增的
insert mytable(name) value("hello"); //有選擇的添加數據
insert mytable(name) values("dxx"),("xiin"); //批量添加數據
刪除表格
drop table mytable; //刪除表格
刪除表格的一行數據
delete from mytable where id = 123;
修改表格的屬性值 //修改表的屬性包括增加屬性,刪除屬性,修改屬性
alter table mytable
add age int not null,
drop name,
modify id int not null primary key auto_increment,
修改表格的數據
update mytable set name = ‘nxnn‘ where id = 123;

(3)數據庫的查詢(常見)
select * from student;
select name,id from student;
select * from student where id = 123;
select count(*),avg(score),sum(score) from student group by age;
select * from student order by id desc | asc;

(4)其他
查看表的構造
deac mytable;

5.數據庫的權限管理(不知道為什麽沒有成功)
(1)創建一個用戶
CREATE USER ‘qiny‘@‘localhost‘ IDENTIFIED BY ‘123456‘;
create user ‘root‘@‘localhost‘ IDENTIFIED BY ‘password‘;
(2)分配權限
GRANT ALL PRIVILEGES ON *.* TO ‘qiny‘@‘localhost‘ IDENTIFIED BY ‘123456‘;
GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘localhost‘ IDENTIFIED BY ‘password‘;
(3)移除權限
EVOKE ALL PRIVILEGES ON *.* FROM ‘username‘@‘localhost‘;

6.c語言連接mysql
(1)安裝msyql的庫文件
編譯方式:gcc xxx.c -o target -lmysqlclient
其中-lmysqlclient的含義是使用mysqlclient的動態庫文件。
(2)使用mysql的庫函數(相關函數參考mysql.h或者網上搜索)
MYSQL * conn; //創建一個mysql的數據庫連接指針
conn = MSYQL_init(NULL); //初始化這個數據庫連接指針
conn = mysql_real_connect(conn,"localhost","qiny","password","test",0,NULL,0);//連接數據庫,其中第一個參數是數據庫連接指針,第二個參數是地址,第三個參數是用戶名,第四個參數是密碼,第五個參數是數據庫的名稱。
mysql_query(conn,sql);//向數據庫發出查詢請求。
MYSQL_RES * res_ptr = mysql_store_result(conn); //建立一個數據存儲區域,接受查詢的結果。
int column = mysql_num_fields(res_ptr);//獲取數據庫表的列數。
int row = mysql_num_rows(res_ptr);//獲取數據庫表的行數。
MYSQL_FIELD * field = mysql_fetch_field(res_ptr);//獲取數據庫返回值表的列名。
MYSQL_ROW * mysql_row = mysql_fetch_row(res_ptr);//獲取數據庫中的一行數據 。






































mysql的快速入門