Computer >> Máy Tính >  >> Lập trình >> MySQL

Tìm nạp các hàng mà ký tự đầu tiên không phải là chữ và số trong MySQL?

Để tìm nạp các hàng trong đó ký tự đầu tiên không phải là chữ và số, bạn có thể sử dụng biểu thức chính quy sau.

Trường hợp 1 - Nếu bạn muốn những hàng bắt đầu từ một chữ số, bạn có thể sử dụng cú pháp sau -

 CHỌN * TỪ yourTableNameWHERE yourColumnName REGEXP '^ [0-9]'; 

Trường hợp 2 - Nếu bạn muốn những hàng bắt đầu từ chữ và số, hãy sử dụng cú pháp sau -

 CHỌN * TỪ yourTableNameWHERE yourColumnName REGEXP '^ [^ 0-9A-Za-z]'; 

Để hiểu cú pháp trên, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -

 mysql> create table getRowsFirstNotAlphanumeric-> (-> Id int NOT NULL AUTO_INCREMENT, -> UserPassword varchar (20), -> PRIMARY KEY (Id) ->); Truy vấn OK, 0 hàng bị ảnh hưởng (0,61 giây)  

Chèn một số bản ghi trong bảng bằng lệnh chèn. Truy vấn như sau -

 mysql> insert vào getRowsFirstNotAlphanumeric (UserPassword) giá trị ('@ 123456'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây) mysql> chèn vào getRowsFirstNotAlphanumeric (UserPassword) giá trị ('# 7666666'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,22 giây) mysql> chèn vào giá trị getRowsFirstNotAlphanumeric (UserPassword) ('98876Carol'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,16 giây) mysql> chèn vào giá trị getRowsFirstNotAlphanumeric (UserPassword) ('$ 12345Carol'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,09 giây) mysql> chèn vào giá trị getRowsFirstNotAlphanumeric (UserPassword) ('% David567'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,10 giây) mysql> chèn vào giá trị getRowsFirstNotAlphanumeric (UserPassword) ('123456Larry'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,07 giây) mysql> chèn vào giá trị getRowsFirstNotAlphanumeric (UserPassword) ('909Robert'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,12 giây) mysql> chèn vào giá trị getRowsFirstNotAlphanumeric (UserPassword) ('3333Maxwell'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,09 giây) mysql> chèn vào getRowsFirstNotAlphanumeric (UserPassword) va lues ('_ 123456Bob'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,10 giây) mysql> chèn vào giá trị getRowsFirstNotAlphanumeric (UserPassword) ('5767676Chris'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,10 giây) mysql> chèn vào getRowsFirstNotAlphanumeric (UserPassFirstNotAlphanumeric) giá trị ('(88883Mike'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,11 giây) 

Bây giờ bạn có thể hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn như sau -

 mysql> select * from getRowsFirstNotAlphanumeric; 

Sau đây là kết quả -

 + ---- + -------------- + | Id | Mật khẩu người dùng | + ---- + -------------- + | 1 | @ 123456 || 2 | # 7666666 || 3 | 98876Carol || 4 | $ 12345Carol || 5 | % David567 || 6 | 123456Larry || 7 | 909Robert || 8 | 3333Maxwell || 9 | _123456Bob || 10 | 5767676Chris || 11 | (88883Mike | + ---- + -------------- + 11 hàng trong bộ (0,00 giây) 

Trường hợp 1 −Đây là truy vấn để lấy tất cả các hàng không bắt đầu từ chữ và số -

 mysql> SELECT * FROM getRowsFirstNotAlphanumeric-> WHERE UserPassword REGEXP '^ [0-9]'; 

Sau đây là kết quả -

 + ---- + -------------- + | Id | Mật khẩu người dùng | + ---- + -------------- + | 3 | 98876Carol || 6 | 123456Larry || 7 | 909Robert || 8 | 3333Maxwell || 10 | 5767676Chris | + ---- + -------------- + 5 hàng trong bộ (0,00 giây) 

Trường hợp 2: Đây là truy vấn để lấy tất cả các hàng bắt đầu từ chữ và số:

 mysql> SELECT * FROM getRowsFirstNotAlphanumeric-> WHERE UserPassword REGEXP '^ [^ 0-9A-Za-z]'; 

Sau đây là kết quả:

 + ---- + -------------- + | Id | Mật khẩu người dùng | + ---- + -------------- + | 1 | @ 123456 || 2 | # 7666666 || 4 | $ 12345Carol || 5 | % David567 || 9 | _123456Bob || 11 | (88883Mike | + ---- + -------------- + 6 hàng trong bộ (0,00 giây)